正如标题所述,Elasticsearch的模糊查询究竟与模糊逻辑有什么关系?
例如,给定一个字符串,fuzziness
2
的模糊查询将返回Levenshtein距离为2的所有索引字符串。如果存在,系统将如何确定返回的答案多个匹配?
背后是否有模糊系统?一个具有三角函数(例如)并且可以用这样的表达式表示:
1| A B
| /\ /\ A = fuzzy set 1
| / \/ \ B = fuzzy set 2
| / /\ \
0|/ / \ \
------------
a b c d
我想要一个更理论的答案来解决模糊查询究竟是什么fuzzy
?
答案 0 :(得分:0)
Elasticsearch中的模糊字符串匹配只是说“近似字符串匹配”的另一种方式。它不是使用模糊逻辑实现的。
Lucene(支持Elasticsearch和Solr的库),使用有限状态传感器实现“模糊”(近似)搜索,编辑距离为2,表示所有可能的过渡(包括编辑距离1的编辑和删除)或2)每个索引术语中的字符之间。
这是一种有效的数据结构,用于存储和跟踪符合输入条件的所有现有术语的世界。这是来自good article about these的图片。
(显示Levenshtein自动机代表“食物”一词,最多两次编辑。)