我有这样的索引,
"_index": "test",
"_type": "products",
"_id": "URpYIFBAQRiPPu1BFOZiQg",
"_score": null,
"_source": {
"currency": null,
"colors": [],
"api": 1,
"sku": 9999227900050002,
"category_path": [
{
"id": "cat00000",
"name": "B1"
},
{
"id": "abcat0400000",
"name": "Cameras & Camcorders"
},
{
"id": "abcat0401000",
"name": "Digital Cameras"
},
{
"id": "abcat0401005",
"name": "Digital SLR Cameras"
},
{
"id": "pcmcat180400050006",
"name": "DSLR Package Deals"
}
],
"price": 1034.99,
"status": 1,
"description": null,
}
我想在category_path字段中仅搜索确切的文本["摄像机"]。 我做了一些匹配查询,但它搜索了所有有"摄像机"作为文本的一部分。有人可以帮我解决这个问题。
由于
答案 0 :(得分:1)
要在嵌套字段中搜索,请使用以下查询
{
"query": {
"term": {
"category_path.name": {
"value": "b1"
}
}
}
}
它有帮助......!
答案 1 :(得分:0)
您可以使用raw_name
分析器再添加一个嵌套字段not_analyzed
并与之匹配。