5

我正在为客户评估 Elastic Search。我已经开始使用 API 并成功创建索引并将文档添加到搜索中。使用 Elastic Search 的主要原因是它提供了构面功能。

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

我将如何将分析器合并到我的搜索中,以及如何将它与构面一起使用?

4

1 回答 1

9

当 Elastic Search 默认索引一个字符串时,通常会将它们分解为标记,例如:“Fox jump over the wall”将被标记为单个单词,如“Fox”、“jump”、“over”、“the”、 “墙”。

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

例如,如果您搜索“狐狸跳墙”,您将不会得到任何结果。相反,搜索“Fox”将为您提供结果。

分析API或分析术语告诉 Elastic Search不要对索引字符串进行标记,以便您可以正确搜索确切的字符串,这在您想要对整个字符串进行统计方面特别有用。

标记器只是将字符串标记为单个单词并将它们存储在 Elastic Search 中。如前所述,可以使用 Search API 查询这些令牌。

过滤器在您指定的特定条件下创建查询结果的子集,从而帮助您在搜索结果中区分您需要的内容和不需要的内容。

于 2012-06-08T07:16:03.537 回答