opensearchserver tokenizer,用于排列查询

时间:2016-05-03 06:49:32

标签: indexing analyzer opensearch open-search-server

我需要配置开放搜索服务器来分析查询,使查询中的单词的任何排列匹配,它返回文档。

例如, 在一个领域的索引中,我有一个短语"膝盖疼痛"。现在,如果我的查询是"如何消除人类膝盖疼痛"。我想这个查询输出的文件有"膝盖疼痛"在指数化领域。

因此我要求将查询字符串分解为"删除","痛苦","人类","膝盖",&# 34;消除疼痛",""去除膝盖","去除人类","疼痛膝盖",#34;人类膝盖&#34 ;,"膝盖疼痛",#34;人类疼痛"等

这样可以匹配"膝盖疼痛"。 是否有任何标记器或过滤器可以帮助我实现这一目标。

1 个答案:

答案 0 :(得分:1)

选择索引,单击“架构”选项卡,然后单击“分析器”选项卡。

我通常会编辑TextAnalyzer并为其添加其他过滤器。我通常从小写开始并停止过滤以使搜索不区分大小写,并删除“a”,“an”,“the”之类的停止词。

然后,Shingle过滤器将为您提供n-gram以进行词组匹配。木瓦过滤器通常有3-4个四字的瓦片。 Shingling正在从分析的文本中创建单词短语的重叠排列。 “棕色狐狸跳得很高”,大小为3的木瓦会产生1,2和3个字的分析n-gram。 IE,1字:“the”,“brown”,“fox”,“jumps”,“high”。 2字:“棕色”,“棕色狐狸”,“狐狸跳”,“跳高”等。

enter image description here