elasticsearch - Elasticsearch中的模糊查询是否与模糊逻辑相关?

标签 elasticsearch fuzzy-search fuzzy-logic fuzzy

如标题所述,Elasticsearch的模糊查询中到底与模糊逻辑有什么关系?

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

背后是否有模糊系统?一个具有三角函数的函数(例如),可以这样表示:

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

我想要一个更理论的答案,即fuzzy可以解决模糊查询中的确切问题?

最佳答案

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

Lucene(Elasticsearch和Solr的基础库)使用有限状态换能器实现“模糊”(近似)搜索,最大搜索距离为2,它表示所有可能的过渡(包括编辑距离为1或2的编辑和删除)的并集每个索引词中的字符。

这是一种有效的数据结构,用于存储和跟踪符合输入条件的所有现有术语的范围。这是good article about these的图片。

enter image description here

(显示一个Levenshtein自动机,代表“食品”一词,最多可进行两次编辑。)

关于elasticsearch - Elasticsearch中的模糊查询是否与模糊逻辑相关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34830834/

相关文章:

elasticsearch - 如何编写一个渗滤器查询嵌套程序

elasticsearch - RabbitMQ:在收到确认后将消息移到另一个队列

elasticsearch - 搜索与嵌套数组Elasticsearch中的所有术语匹配的文档

ElasticSearch模糊查询和区分大小写

r - R中的部分字符串匹配并修剪字符

c++ - 在 iOS 中使用 C++ fuzzylite 库和 ObjC(模糊逻辑)

elasticsearch - Elasticsearch:我有一个日期字段,但收到错误消息:'默认情况下,文本字段中的Fielddata被禁用

ios - 如何为一个键存储多个值?

java - 从外部 jar 文件导入的类出现 Unresolved 类型错误