Próbuję utworzyć indeks w ES za pomocą określonego analizatora i mapowania, używając JEST. ja używam następujący kod:Jak dodać mapowanie w ElasticSearch za pomocą JEST
CreateIndex createIndex = new CreateIndex.Builder(indexName)
.settings(
ImmutableSettings.builder()
.loadFromClasspath(
"jestconfiguration.json"
).build().getAsMap()
).build();
JestResult result = client.execute(createIndex);
I to jest 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"
}
}
}
}
}
Podczas gdy indeks jest crated poprawnie z określonymi „Ustawienia”, sekcja „mapowania” nie robi pracować i nie jestem w stanie ustawić mapowania dla pola "Nazwa". Ktoś ma pomysł? Czy istnieje JESt w pewnym rodzaju putmapping()
, który umożliwia dodawanie odwzorowań? Idealnie chciałbym móc ustawić field_name dynamicznie, a nie w pliku .json.
Thnks