我正在为客户评估Elastic Search。我已经开始使用API,并成功地创建了索引并将文档添加到搜索中。使用Elastic Search的主要原因是它提供了facets功能。
我在理解分析器、标记器和过滤器以及它们如何与方面相适应时遇到了困难。我希望能够使用关键字,日期,搜索词等作为我的方面。
我该如何将Analyzer整合到我的搜索中,以及如何将其与facets结合使用?
发布于 2012-06-08 15:16:04
当Elastic Search默认索引一个字符串时,通常它会将它们分解为标记,例如:"Fox jump over the wall“将被标记为单独的单词"Fox","jump","over","the","wall”。
那么这是做什么的呢?如果使用Lucene查询搜索文档,可能得不到所需的字符串,因为Elastic search将自动搜索标记化的单词,而不是整个字符串,因此搜索结果将受到严重影响。
例如,如果您搜索"Fox jump over the wall",您将得不到任何结果。相反,搜索"Fox“会得到一个结果。
弹性分析应用编程接口或analyze术语告诉 Search not对索引字符串进行标记化,以便您可以正确地搜索准确的字符串,这在您希望对整个字符串进行统计方面时特别有用。
Elastic Tokenizer只是将字符串标记化为单个单词,并将它们存储在搜索中。如前所述,可以使用搜索API对这些令牌进行查询。
Filters在您指定的特定条件下创建查询结果的子集,从而帮助您在搜索结果中区分需要的内容和不需要的内容。
https://stackoverflow.com/questions/10923642
复制相似问题