【问题标题】:How to perform a partial match query in ElasticSearch?如何在 ElasticSearch 中执行部分匹配查询?
【发布时间】:2018-08-09 21:16:35
【问题描述】:

我一直在尝试在 ElasticSearch 中执行部分匹配查询,但尚未成功(尽管我尝试按照 SO 中类似问题的说明进行操作)。

我有一个包含 5 个字段的索引:

author_name, title, content, chapter_name, email

理想情况下,我想搜索一个词并让它找到结果,只要它与这些字段中的任何一个部分匹配。

对于以下数据:

{
  "author_name": "John Doe",
  "title": "A Nice Summer",
  "content": "It was a nice summer back in 1969",
  "chapter_name": "The 60s",
  "email": "johndoe@email.com"
 }

如果我查询Doe196960sit was,我应该得到它

(注意上学期的空格。我也遇到了空格问题)

也许我只是在构建查询时使用了错误的元素

【问题讨论】:

    标签: ruby-on-rails ruby elasticsearch


    【解决方案1】:

    我有完全相同的问题,官方 ElasticSearch 文档中的这些页面很好地解释了如何实现这一点:

    Ngrams for Partial Matching

    该页面链接到以下页面,它提供了一个很好的例子来说明如何实现您想要的:

    Ngrams for Compound Words

    这些链接都是 ES 文档中以下章节的一部分:

    Partial Matching

    【讨论】:

      猜你喜欢
      • 2018-02-18
      • 2018-11-01
      • 2019-10-20
      • 2016-08-12
      • 2015-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多