AWS上的Elasticsearch - 添加Tokenizer

时间:2017-06-27 00:27:12

标签: amazon-web-services elasticsearch

我目前在AWS提供的Elasticsearch服务上托管了一个ElasticSearch 5.4实例。但是,此服务会锁定几个API调用,例如关闭和打开服务器的API调用。因此,我不能根据我的知识更新设置以拥有自定义标记生成器。必须有一种方法可以在indice创建而不是之后添加此标记器。

我的问题是 - 在放置映射/创建它们时如何添加此自定义标记生成器而不是之后(因为我必须关闭服务器以在制作索引后调整这些设置)。

        analysis: {
          analyzer: {
            ngram_analyzer: {
              tokenizer: "ngram_compounder"
            }
          },
          tokenizer: {
            ngram_compounder: {
              type: "ngram",
              min_gram: 3,
              max_gram: 3,
              token_chars: [
                "letter",
                "digit"
              ]
            }
          }
        },

1 个答案:

答案 0 :(得分:2)

您可以通过"设置"

将其嵌入到您的地图中
{
    "settings": {
        "analysis": {
            "analyzer": {
                "ngram_analyzer": {
                    "tokenizer": "ngram_compounder"
                }
            },
            "tokenizer": {
                "ngram_compounder": {
                    "type": "ngram",
                    "min_gram": 3,
                    "max_gram": 3,
                    "token_chars": [
                        "letter",
                        "digit"
                    ]
                }
            }
        }
    },
    "mappings": {
        "index_1": {...},
        "index_2": {...}
    }
}

这在ES 1.7.x中对我有用,并且应该仍然适用。

干杯,多米尼克