弹性搜索分析器和构面

Gab*_*bar 5 facets elasticsearch

我正在评估客户端的弹性搜索.我已经开始使用API​​并成功创建了索引并在搜索中添加了文档.使用弹性搜索的主要原因是它提供了facet功能.

我无法理解分析器,标记器和过滤器,以及它们如何适应各个方面.我希望能够使用关键字,日期,搜索字词等作为我的方面.

我如何将分析器纳入我的搜索中,如何将其与facet一起使用?

Jon*_*Moo 9

当弹性搜索默认索引字符串时,通常会将它们分解为标记,例如:"Fox跳过墙壁"将被标记为单个单词,如"Fox","jump","over","the", "壁".

那这是做什么的呢?如果您使用Lucene Query搜索文档,则可能无法获得所需的字符串,因为Elastic Search将自动搜索标记化的单词而不是整个字符串,因此您的搜索结果将受到严重影响.

例如,如果您搜索"Fox跳过墙壁",您将无法获得任何结果.搜索"福克斯"代替将获得结果.

分析API或分析术语告诉弹性搜索来标记索引的字符串,这样就可以正常搜索精确匹配,当你想要做整个字符串统计方面是特别有用.

断词只是标记化的字符串到弹性搜索单个单词,并将它们存储.如上所述,可以使用Search API查询这些令牌.

过滤器会在您指定的特定条件下创建查询结果的子集,从而帮助您将所需内容与搜索结果中不需要的内容分开.