elasticsearch 查询字符串的弹性搜索模糊性,elasticsearch,elasticsearch" /> elasticsearch 查询字符串的弹性搜索模糊性,elasticsearch,elasticsearch" />

elasticsearch 查询字符串的弹性搜索模糊性

elasticsearch 查询字符串的弹性搜索模糊性,elasticsearch,elasticsearch,我在查询字符串中指定了模糊前缀长度,但搜索“tes”并不是在弹出标题为“test”的帖子。。。知道我做错了什么吗 这是我的查询字符串设置 "query" : { "query_string" : { "query" : the-query-string-goes-here, "default_operator" : "AND", "fuzzy_prefix_length" : 3, } } 您可能缺少查询末尾的“fuzzy”操作符。试试这个: "query" :

我在查询字符串中指定了模糊前缀长度,但搜索“tes”并不是在弹出标题为“test”的帖子。。。知道我做错了什么吗

这是我的查询字符串设置

"query" : {
  "query_string" : {
    "query" : the-query-string-goes-here,
    "default_operator" : "AND",
    "fuzzy_prefix_length" : 3,
  }
}

您可能缺少查询末尾的“fuzzy”操作符。试试这个:

"query" : {
  "query_string" : {
    "query" : "tes~",
    "default_operator" : "AND",
    "fuzzy_prefix_length" : 3,
  }
}

啊,我明白了。。。如果你不介意的话,有几个问题。。。我听说通配符查询比平均速度慢,而且不能扩展。与该操作员有类似的问题吗?另外,现在搜索“tes”会弹出一个标题为“测试”的帖子,但搜索“est”不会。。。有没有办法让它做到这一点。。。还是我的范围过大?“est”不会返回任何结果,因为您指定了非零模糊前缀长度。模糊前缀长度设置术语开头必须匹配的字符数。零模糊前缀长度需要elasticsearch将字典中的所有术语与查询中的术语模糊匹配。通过指定非零fuzzy_prefix_length,可以显著限制用于检查和改进性能的术语数量。正如您所提到的,它有点类似于通配符查询,只是在使用模糊运算符的情况下,术语匹配算法更加复杂。