首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Elasticsearch文本匹配百分比

Elasticsearch文本匹配百分比
EN

Stack Overflow用户
提问于 2017-09-07 10:17:30
回答 2查看 3.1K关注 0票数 1

我有一个保存电影标题的Elasticsearch数据库。

我想要实现的是从这个数据库中选择最接近的匹配项,看看我是否已经有了类似的标题。目前,我正在使用phrase_matching和单词匹配的组合来尝试实现这一点。下面是我正在努力解决的问题:

在数据库中:它在夜间出现

搜索: It

这将明显地匹配,因为它在slop参数中,并将100%的单词与数据库中的单词匹配。但是我想要的是这个搜索失败,因为我的搜索只包含了elasticsearch中整个句子的25%。(几乎就像是反向匹配)。

原因是“It”和“It comes at night”实际上是两个不同的标题,当这个搜索发生时,它们可能/可能还没有被索引。

我不是简单地使用术语查询的原因是针对这样的情况:《银河护卫队2》、《银河护卫队2》和《银河护卫队2

有没有人知道这能否在Elasticsearch中实现?

EN

回答 2

Stack Overflow用户

发布于 2017-09-08 07:17:24

现在,我使用了以下几种方法的组合:

  • 与minimum_should_match一起进行匹配查询以检查需要使用slop进行匹配的单词的数量使用slop
  • 检查具有一定净空的匹配单词的位置一个自定义脚本,用于检查文档‘_ match
  • MatchPhrase’.value.length属性,以检查其是否在特定字符长度之间

这给了我所期望的东西。

票数 1
EN

Stack Overflow用户

发布于 2017-09-08 20:38:33

您是否尝试过配置字段的相似性?我认为将更传统的统计方法与一些带状提升相结合可以为您提供更健壮的解决方案。您可以按分数进行筛选,以限制结果集。

请参阅:https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-similarity.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46093832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档