0

我想使用 JAVA API 构建 elastisearch 查询。我想知道如何在 elasticsearch java 程序中使用 Lucene 分析器。我已经检查QueryBuilders并尝试直接使用分析器,如下所示。

QueryBuilder builder = QueryBuilders.matchQuery(searchString, fields).analyzer("porterstem");

但是,事实证明这是错误的。如果有人试过,可以给我一些信息吗?

4

2 回答 2

0

您应该在映射中定义您的分析器。因此分析器将在索引时和查询时使用。

于 2014-03-16T07:21:40.550 回答
0

ANALYZERS 用于分析您被索引的文档。分析意味着它会拆分,将文本拆分为标记,对其进行规范化,并将您的索引文档文本小写。此分析过程 Ll b 更有帮助,而您搜索和搜索会更快..

您可以在查询时提及分析器。但是在查询时分析存储的文档。价格昂贵。因此,在索引期间分析文档。ES 将在索引期间分析文档,查询时间将得到更少和更快的结果。所以在有效地映射和搜索中提到分析器..

有关分析器的更多信息,请参阅 https://lucene.apache.org/core/4_0_0/core/org/apache/lucene/analysis/Analyzer.html

于 2014-03-16T07:35:32.440 回答