![](/img/trans.png)
[英]ElasticSearch: Java High Level API - Index doc with dynamic ID
[英]ElasticSearch High level API create index with custom settings returns error
我試圖創建一個自定義設置廣告指數作為解釋在這里 。 我正在使用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 = illegal_argument_exception,原因=未知設置[index.settings.analysis.analyzer.autocomplete.filter]請檢查是否已安裝任何必需的插件,或檢查重大更改文檔以了解已刪除的設置]]
我正在使用AWS ElasticSearch實例。 我更喜歡使用構建器而不是普通的JSON來創建我的設置請求。 難道我做錯了什么?
我發現了問題。 似乎鍵不能包含settings
前綴。
工作代碼如下:
public CreateIndexResponse createIndex(@NotNull String indexName) throws IOException {
CreateIndexRequest request = new CreateIndexRequest();
request.index(indexName);
Settings.Builder settingsBuilder =
Settings.builder()
.put("analysis.filter.autocomplete_filter.type", "edge_ngram")
.put("analysis.filter.autocomplete_filter.min_gram", "1")
.put("analysis.filter.autocomplete_filter.max_gram", "10")
.put("analysis.analyzer.autocomplete.type", "custom")
.put("analysis.analyzer.autocomplete.tokenizer", "standard")
.putList("analysis.analyzer.autocomplete.filter", "lowercase", "autocomplete_filter");
request.settings(settingsBuilder);
return elasticSearchClient.indices().create(request, RequestOptions.DEFAULT);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.