在rails应用程序中使用elasticsearch逐字母索引

cyej8jka  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(320)

有人知道在elasticsearch中,什么是逐字索引数据的最佳方法吗。我有一个rails应用程序,我用elasticsearch作为我的应用程序中的搜索引擎。在我的rails应用程序中,我有很多包含文章的内容,在我的实现中,我可以搜索文章并完美地返回reult,我有多个过滤器,比如ngram-edge gram-whitespace和。如果用户键入准确的全字每件事罚款和我的设计,我有一些过滤器,如ngram,在这个状态下,我想帮助用户,如果他/她键入一个字母,他/她可以返回一些结果,我可以处理这个ponit与where命令,但我想做它与弹性。我 m looking through elastices tutorials and best practices but none of them can 帮助我,在最好的状态下,如果用户键入至少三个或四个字母的松紧带可以返回结果。我用的是ngram filter,edge,gram filter regex和。。。但没有一个有用。

nhn9ugyo

nhn9ugyo1#

你需要使用 suggest elasticsearch中的查询如下:

{
 "suggest": {
 "auto-complete-suggest": {
 "prefix": "Your prefix text",
 "completion": {
  "size" : 5,
  "field": "text_completion"

      }
    }
  }
}

你的Map应该是这样的:

{
  "mappings": {
    "properties": {
      "text_completion": {
        "type": "completion",
        "analyzer": "Your analyzer"
      }
    }
  }
}

相关问题