完成建议者-Elasticsearch

时间:2018-11-23 16:46:30

标签: elasticsearch lucene

我对完成建议者有疑问。

我有一个字符串数据集,其数据如下: “巴黎”,“伦敦”,“法国”,“法国的一座城市”,“什么都没有”,...

我想使用以下输入来搜索我的数据:“ an”,并得到以下结果:“ fr an ce”,“ a Fr中的城市< strong> an ce”,“ n a t a ll”

有可能吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

通过使用n-gram进行部分匹配,可以实现与您想要的东西相似的东西。为了做到这一点,应该将数据集中的每个单词拆分成所谓的n元语法-移动单词的窗口,其中n是该窗口的长度。 link这里不再重复Elasticsearch文档。 一切都有代价。这里的价格是指数的增加量。