Elasticsearch 索引映射:商品信息查询示例
Elasticsearch 索引映射:商品信息查询示例
本文将介绍如何使用 Elasticsearch 索引映射定义商品信息,并提供根据商品名称进行查询的示例代码。
索引映射定义
以下是一个简单的商品信息索引映射示例:
{
"settings": {
"analysis": {
"analyzer": {
"ik": {
"tokenizer": "ik_max_word"
}
}
},
"number_of_shards": 5,
"number_of_replicas": 1
},
"mappings": {
"dynamic": false,
"_source": {
"enabled": true
},
"properties": {
"orderNum": {
"type": "text",
"analyzer": "ik_max_word"
},
"createTime": {
"type": "date"
},
"userName": {
"type": "keyword"
},
"goodsInfo": {
"type": "nested",
"properties": {
"goodsName": {
"type": "text",
"analyzer": "ik_max_word"
},
"price": {
"type": "double"
},
"goodsCount": {
"type": "long"
}
}
}
}
}
}
该映射定义了以下字段:
- orderNum: 订单编号,使用
text类型并使用ik_max_word分析器进行分词。 - createTime: 创建时间,使用
date类型。 - userName: 用户名,使用
keyword类型。 - goodsInfo: 商品信息,使用
nested类型,包含以下字段:- goodsName: 商品名称,使用
text类型并使用ik_max_word分析器进行分词。 - price: 商品价格,使用
double类型。 - goodsCount: 商品数量,使用
long类型。
- goodsName: 商品名称,使用
根据商品名称进行查询
根据给定的映射,可以使用以下查询来根据商品名称进行查询:
{
"query": {
"match": {
"goodsInfo.goodsName": '要查询的商品名'
}
}
}
这将返回所有 goodsName 字段与查询匹配的文档。
总结
本文介绍了如何使用 Elasticsearch 索引映射定义商品信息,并提供根据商品名称进行查询的示例代码。通过使用合适的映射和查询,我们可以有效地存储和检索商品信息。
原文地址: https://www.cveoy.top/t/topic/o3Um 著作权归作者所有。请勿转载和采集!