完成字段类型编辑

要使用 completion 建议器,将您要从中生成建议的字段映射为类型 completion。这将索引字段值以进行快速完成。

response = client.indices.create(
  index: 'music',
  body: {
    mappings: {
      properties: {
        suggest: {
          type: 'completion'
        }
      }
    }
  }
)
puts response
PUT music
{
  "mappings": {
    "properties": {
      "suggest": {
        "type": "completion"
      }
    }
  }
}

completion 字段的参数编辑

以下参数被 completion 字段接受

analyzer

要使用的索引分析器,默认为 simple

search_analyzer

要使用的搜索分析器,默认为 analyzer 的值。

preserve_separators

保留分隔符,默认为 true。如果禁用,您可能会发现一个以 Foo Fighters 开头的字段,如果您对 foof 进行建议。

preserve_position_increments

启用位置增量,默认为 true。如果禁用并使用停用词分析器,您可能会得到一个以 The Beatles 开头的字段,如果您对 b 进行建议。 注意: 您也可以通过索引两个输入来实现这一点,BeatlesThe Beatles,无需更改简单的分析器,如果您能够丰富您的数据。

max_input_length

限制单个输入的长度,默认为 50 个 UTF-16 代码点。此限制仅在索引时使用,以减少每个输入字符串的字符总数,以防止大量输入膨胀底层数据结构。大多数用例不会受到默认值的影响,因为前缀完成很少会超过几个字符长的前缀。