【发布时间】:2017-06-18 14:04:15
【问题描述】:
我的所有文档中有十个左右的字段:特别是product_code,它在每个文档中都是唯一的,并且是字符串类型。
我在_all 上有一个匹配查询,效果很好,但我想执行“模糊匹配”,同时保留精确搜索product_code 的能力
这是我尝试过的:
"query": {
"bool": {
"should": [
{
"match": {
"product_code": {
"query": searchString,
"operator": "AND"
}
}
},
{
"match": {
"_all": {
"query": searchString,
"operator": "AND"
"fuzziness": 2,
"prefix_length": 2
}
}
}
]
}
}
这种方法的问题是模糊性也被应用于搜索product_code,因为它包含在_all 中。
有没有办法先在product_code 上执行搜索,如果没有找到结果,在_all 上执行搜索,或者从_all 查询中排除product_code?
非常感谢任何帮助。
【问题讨论】:
标签: elasticsearch