Проверка и изменение настройки индекса Elasticsearch во время инициализации весенних бобовJAVA

Программисты JAVA общаются здесь
Anonymous
Проверка и изменение настройки индекса Elasticsearch во время инициализации весенних бобов

Сообщение Anonymous »

Я использую конфигурацию индекса Elasticsearch Spring Elasticsearch, используя такой синтаксис: < /p>
@Document(indexName = "example")
@Setting(settingPath = "path_to_example_setting_file.json")
@Mapping(mappingPath = "path_to_example_mapping_file.json")
public class ExampleIndex {

@Id
@Field(type = FieldType.Keyword)
private String id;

@Field(type = FieldType.Text, analyzer = "ngram_analyzer")
private String exampleName;
< /code>
Так что у меня есть аннотации + .json, настраивающие файлы. Во время весеннего инициализации Брина в классе @Configuration я хотел бы проверить, изменили ли настройки этого индекса, и если это правда - удалить это и восстановить с новым картированием и настройками и данными реиндекс из базы данных.@Configuration
@EnableElasticsearchRepositories("path")
public class ElasticConfiguration extends ElasticsearchConfiguration {

...extra code
@Bean
public ExampleIndex exampleIndex(
ElasticsearchOperations elastiOps
) {
IndexOperations indexOperations = elasticsearchOperations.indexOps(IndexCoordinates.of("example"));

*** get current settings from json path with Settings.parse()***
if (currentSettings.equals(newSettings) {
return new ExampleIndex()
} else {
indexOperations.delete();
indexOperations.create(newSettings, newMapping);
return new ExampleIndex()
}
}
< /code>
Но это равно, что не будет работать хорошо из -за различий в синтаксисе в новых настройках JSON и текущих настройках из индекса.
Вы знаете какие -либо случаи, как это решить? < /p>

Подробнее здесь: https://stackoverflow.com/questions/795 ... n-initiali

Вернуться в «JAVA»