您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Elasticsearch中查找最相似的整数数组

在Elasticsearch中查找最相似的整数数组

我将在去年的Elasticsearch邮件列表中查看去年的讨论。另一个ES用户正在尝试完全按照您的意图进行操作,匹配数组元素并按相似性进行排序。在他的情况下,他的数组成员是“一个”,“两个”,“三个”等,但几乎相同:

http://elasticsearch-users.115913.n3.nabble.com/Similarity-score-in-array- td4041674.html

讨论中指出的问题是,没有什么可以让您准确地找到想要的东西。您使用数组成员(字符串或整数,我认为都可以)的方法可以使您接近,但可能与您要实现的目标有所不同。原因是Elasticsearch(以及Lucene / Solr也是如此)中的认相似性评分机制是TF / IDF:http ://www.elasticsearch.org/guide/en/elasticsearch/guide/current/relevance- intro.html

TF / IDF可能非常接近,并且取决于用例,可能会为您提供相同的结果,但不能保证做到这一点。经常出现的标签(例如,“ 1”的频率是“ 2”的两倍)会更改每个术语的权重,以致您可能无法完全获得所需的内容

如果您需要精确的评分/相似度算法,我相信您需要自定义评分。正如您发现的那样,自定义评分脚本无法很好地扩展,因为该脚本将在每个文档中运行,因此开始时并不太快,并且响应时间会以线性方式衰减。

我个人可能会尝试Elasticsearch提供的某些相似性模块,例如BM25:

http://www.elasticsearch.org/guide/zh- CN/elasticsearch/reference/current/index-modules- similarity.html

其他 2022/1/1 18:14:31 有531人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶