1

正如标题所述,Elasticsearch 的模糊查询中究竟有哪些与模糊逻辑相关的内容?

例如,给定一个字符串,带有fuzzinessof的模糊查询2将返回所有 Levenshtein 距离为 2 的索引字符串。如果有多个匹配项,系统如何决定返回什么答案?

背后有模糊系统吗?一个具有三角函数(例如)并且可以用以下方式表示的函数:

1|   A    B
 |   /\  /\      A = fuzzy set 1
 |  /  \/  \     B = fuzzy set 2
 | /   /\   \
0|/   /  \   \
 ------------
  a  b  c d

我想要一个更理论的答案来解决模糊查询中究竟是fuzzy什么?

4

1 回答 1

0

Elasticsearch 中的模糊字符串匹配只是“近似字符串匹配”的另一种说法。它不是使用模糊逻辑实现的。

Lucene(支持 Elasticsearch 和 Solr 的库),使用表示所有可能转换(包括编辑距离 1 或 2 的编辑和删除)的联合的有限状态转换器,实现编辑距离为 2 的“模糊”(近似)搜索每个索引词中的字符。

它是一种有效的数据结构,用于存储和跟踪符合输入标准的所有现有术语的世界。这是一篇关于这些的好文章的图片。

在此处输入图像描述

(显示一个代表单词“food”的 Levenshtein Automaton,最多可进行两次编辑。)

于 2016-01-25T03:13:01.053 回答