首页 > 解决方案 > 完成建议 - Elasticsearch

问题描述

我有关于完成建议的问题。

我有一个字符串数据集,其中包含以下数据:“巴黎”、“伦敦”、“法国”、“法国的一个城市”、“什么都没有”……

我想用例如这个输入来搜索我的数据:“an”并得到这个结果:“fr an ce”、“ Fr an ce”、 nothing a t a ll ”

可能吗 ?

谢谢。

标签: elasticsearchlucene

解决方案


通过对 n-gram 使用部分匹配,可以实现与您想要的类似的东西。为了做到这一点,你的数据集中的每个单词都应该被分成所谓的 n-gram - 移动单词的窗口,其中 n 是这个窗口的长度。此处不再重复 Elasticsearch 文档是链接。一切都是有代价的。这里的价格是指数增加的规模。


推荐阅读