所以我看到了这两个问题。第一种是与模糊选项相匹配。
{
"query": {
"match": {
"user": {
"query": "ki",
"fuzziness": "AUTO"
}
}
}
}第二种是正规模糊搜索。
{
"query": {
"fuzzy": {
"user": {
"value": "ki"
}
}
}
}结果差不多一样。但我的问题是,查询是否真的具有相同的结构?在模糊最佳实践中使用哪一种?
发布于 2019-09-16 14:55:55
在您的示例中,结果是相同的。然而,模糊查询的行为就像一个术语查询,因此它不会事先执行分析,而匹配查询则会执行。
因此,如果您搜索包含pigeon street的地址字段并使用标准分析器进行索引,则此查询将有效。
GET my-index/_search
{
"query": {
"match": {
"address": {
"query": "wigeon street",
"fuzziness": 1
}
}
}
}但这一次不会:
GET my-index/_search
{
"query": {
"fuzzy": {
"address": {
"value": "wigeon street"
}
}
}
}https://stackoverflow.com/questions/57950260
复制相似问题