Я пытаюсь создать рекламный индекс с пользовательскими настройками, как объяснено здесь . Я использую ElasticSearch 6.3
Это мой код:
public CreateIndexResponse createIndex(@NotNull String indexName) throws IOException {
CreateIndexRequest request = new CreateIndexRequest();
request.index(indexName);
Settings.Builder settingsBuilder =
Settings.builder()
.put("settings.analysis.filter.autocomplete_filter.type", "edge_ngram")
.put("settings.analysis.filter.autocomplete_filter.min_gram", "1")
.put("settings.analysis.filter.autocomplete_filter.max_gram", "10")
.put("settings.analysis.analyzer.autocomplete.type", "custom")
.put("settings.analysis.analyzer.autocomplete.tokenizer", "standard")
.putList("settings.analysis.analyzer.autocomplete.filter", "lowercase", "autocomplete_filter");
request.settings(settingsBuilder);
return elasticSearchClient.indices().create(request, RequestOptions.DEFAULT);
}
У меня есть исключение:
ElasticsearchStatusException [Исключение Elasticsearch
[type = недопустимое_аргумент_exception, причина = неизвестная настройка
[index.settings.analysis.analyzer.autocomplete.filter] пожалуйста, проверьте
что все необходимые плагины установлены, или проверьте последние изменения
документация по удаленным настройкам]]
Я использую экземпляр AWS ElasticSearch. Я предпочитаю использовать конструктор, а не простой JSON для создания моего запроса настроек.
Я что-то не так делаю?