我目前在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"
]
}
}
},
答案 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中对我有用,并且应该仍然适用。
干杯,多米尼克