如何将没有空格的单词与具有空格的ElasticSearch数据进行匹配

时间:2016-08-04 07:22:19

标签: elasticsearch

在我的弹性搜索中我有数据"纽约",我想查询和匹配" NewYork" (请注意查询字符串中没有空格)。我怎样才能做到这一点?有没有可以帮助的分析仪?

2 个答案:

答案 0 :(得分:3)

我认为你可以申请Shingle Token Filter。木瓦过滤器将通过连接相邻项来创建新标记。查询的一部分可能如下所示:

...
"my_shingle":{
   "type":"shingle",
   "max_shingle_size":5,
   "min_shingle_size":2,
   "output_unigrams":"true",
   token_separator: ""
}

答案 1 :(得分:0)

这里是如何使用“碎片令牌过滤器”获得所需结果的示例。

https://arjunjs.wordpress.com/2017/04/02/elasticsearch-how-to-search-for-a-word-without-spaces-if-word-itself-is-combination-of-two-different-words/

希望这会有所帮助。