所以我有这样的查询:
{
"from":0,
"size":20,
"sort":{
"prices_count":"desc"
},
"query":{
"bool":{
"must":[
{
"terms":{
"category_ids":[
"3"
]
}
},
{
"nested":{
"path":"specs",
"query":{
"bool":{
"must":[
{
"match_phrase":{
"specs.model":"iphone-6s"
}
}
]
}
}
}
}
]
}
}
}
我的问题在于嵌套查询部分。 specs.model
查询不仅匹配具有模型iphone-6s
的文档,还匹配iphone-6s-plus
的文档,我尝试使用term
匹配,但之后我得不到任何结果。有什么想法吗?
答案 0 :(得分:2)
根据docs:
not_analyzed:
索引此字段,因此可以搜索,但可以完全按照指定索引值。不要分析它。
在映射中设置model: not_analyzed
,如:
{
"model": {
"type": "string",
"index": "not_analyzed"
}
}
然后使用term
进行查询。