JESTを使用して、特定のアナライザーとマッピングを使用してESでインデックスを作成しようとしています。
私は次のコードを使用しています:
CreateIndex createIndex = new CreateIndex.Builder(indexName)
.settings(
ImmutableSettings.builder()
.loadFromClasspath(
"jestconfiguration.json"
).build().getAsMap()
).build();
JestResult result = client.execute(createIndex);
そして、これは jestconfiguration.java です
{
"settings": {
"analysis": {
"analyzer": {
"second": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"synonym"
]
}
},
"filter": {
"synonym" : {
"type" : "synonym",
"synonyms" : [
"smart phone => smartphone"
]
}
}
}
},
"mappings": {
"index_type": {
"properties": {
"Name": {
"type": "string",
"analyzer": "second"
}
}
}
}
}
インデックスは指定された「設定」で正しく作成されますが、「マッピング」セクションは機能せず、フィールド「名前」のマッピングを設定できません。誰にもアイデアがありますか?
putmapping()
マッピングを追加できる冗談のようなものはありますか? 理想的には、.json ファイルではなく、field_name を動的に設定できるようにしたいと考えています。