ElasticSearch Edge NGram与前缀查询

问题描述 投票:6回答:1

假设我们的文本字段相对较短,假设最多10个字符,并另存为关键字。我希望我的用户能够对此字段进行前缀搜索(而不是自动填充/键入时搜索)。I have read on Elastic's documentation前缀查询的伸缩性很差,他们提供了一些示例来演示它。

什么时候可以使用前缀搜索,什么时候应该使用index-time edge-ngrams?构建和存储该字段的index-time edge-ngrams听起来很麻烦,但也许我缺少了一些东西。

elasticsearch prefix n-gram
1个回答
0
投票

首先第一件事:

关键字字段只能按其确切值进行搜索

因此,您不能前缀搜索定义为关键字类型的字段。前缀搜索仅适用于已分析的字段。

通常,前缀搜索的性能相对较差。您可以通过index_prefixes来改善其功能,但是即使这样操作还是比较密集的,所以如果您打算扩展业务,最好使用N-Grams,因为它可以更有效地利用资源。 。

© www.soinside.com 2019 - 2024. All rights reserved.