completion 字段类型
要使用补全建议器(completion suggester),请将要从中生成建议的字段映射为 completion 类型。这会索引字段值以实现快速补全。
PUT music
{
"mappings": {
"properties": {
"suggest": {
"type": "completion"
}
}
}
}
completion 字段的参数
completion 字段接受以下参数:
analyzer(可选,字符串)要使用的索引分析器,默认为simple。search_analyzer(可选,字符串)要使用的搜索分析器,默认为analyzer的值。preserve_separators(可选,Boolean)保留分隔符,默认为true。如果禁用,当你以foof作为建议输入时,可能会找到以Foo Fighters开头的字段。preserve_position_increments(可选,Boolean)启用位置增量,默认为true。如果禁用并使用停用词分析器,当你以b作为建议输入时,可能会得到以The Beatles开头的字段。注意:如果你能够丰富数据,也可以通过索引两个输入Beatles和The Beatles来实现这一点,而无需更改简单的分析器。max_input_length(可选,整数)限制单个输入的长度,默认为50个 UTF-16 码点。此限制仅在索引时使用,用于减少每个输入字符串的总字符数,防止大量输入撑爆底层数据结构。大多数用例不会受默认值影响,因为前缀补全很少会超出几个字符以上的前缀长度。