Term suggester
为了理解suggestions的形式,请先阅读suggestions第一页。
术语 suggester 建议基于编辑距离的术语。 在术语 suggested 之前分析所提供的 suggest 文本。 根据分析的 suggest 文本 token 提供 suggest 的术语。 术语 suggester 不考虑作为请求的一部分的查询。
常见的 suggest 选项
test | suggest文本,suggest文本是必须选项,需要被设定为全局或者对每个suggestion。 |
field | 从中获取候选suggestions的字段(field)。 这是必需的选项,需要设置为全局或按suggestion设置。 |
analyzer | analyzer跟suggest文本一起进行分析,默认为suggest字段的搜索analyzer。 |
size | 每个suggest文本标记(token)返回的最大更正值。 |
sort | 定义每个suggest文本术语中suggestions该如何排序。 两个可能的值:score:先按照分数排序,然后按文档频率排序,然后是术语本身。frequency:按文档频率排序,然后依次选择相似性分数和术语本身。 |
suggest_mode | suggest_mode控制什么suggestions被包括或控制什么suggest文本术语,什么suggestions应该被suggested。 可以指定三个可能的值:missing: 只提供不在索引中的suggest文字字词的suggestion。 这是默认值。popular:只suggest出现在更多文档中的suggestions,而不是原始suggest文本术语。always: 根据suggest文字中的字词suggest任何相符的suggestions。 |
其他术语 suggest 选项:
lowercase_terms | 在文本分析后的 小写suggest文本术语。 |
max_edits | 可以认为是候选suggestions的最大编辑距离。 只能是介于1和2之间的值。任何其他值都会导致抛出错误的请求错误。 默认为2。 |
prefix_length | 为了成为候选 suggestions 所必须匹配的最小前缀字符的数量。 默认值为1.增加此数字可提高拼写检查性能。 通常拼写错误不会出现在术语的开头。 (旧名称 “prefix_len” 已弃用) |
min_word_length | suggest 文本术语必须包含的最小长度。 默认值为4.(旧名称 “min_word_len” 已弃用) |
shard_size | 设置要从每个单独的分片检索的 suggestions 的最大数量。 在减少阶段期间,仅基于size选项返回前N个suggestions。默认为size选项。 将其设置为大于该size的值可以是有用的,以便以性能为代价获得更准确的拼写校正的文档频率。 由于术语在分片之间分割的事实,拼写校正的分片级文档频率可能不精确。 增加这将使这些文档频率更精确。 |
max_inspections | 用于乘以shards_size以便在碎片级别上检查更多候选拼写校正的因子。 可以以性能为代价提高精度。 默认为5。 |
min_doc_freq | suggestion应该出现的文档数量的最小阈值。这可以指定为绝对数字或文档数量的相对百分比。 这可以通过仅suggesting高频项来提高质量。 默认值为0f,未启用。 如果指定的值大于1,则该数字不能为小数。 分片级文档频率用于此选项。 |
max_term_freq | suggest文本标记可以存在的文档数量中的最大阈值,以便包括。 可以是表示文档频率的相对百分比数字(例如0.4)或绝对数字。 如果指定的值大于1,则不能指定小数。 默认为0.01f。 这可以用于排除高频术语的拼写检查。 高频项通常拼写正确,这也提高了拼写检查的性能。 分片级文档频率用于此选项。 |
string_distance | 使用哪个字符串距离实现来比较类似的suggested术语。 可以指定五个可能的值:internal -基于damerau_levenshtein的默认值,但是高度优化用于比较索引中的项的字符串距离。damerau_levenshtein -基于Damerau-Levenshtein算法的字符串距离算法。levenstein -基于Levenstein编码距离算法的字符串距离算法。jarowinkler -基于Jaro-Winkler算法的字符串距离算法。ngram -基于字符n-gram的字符串距离算法。 |
Last updated