簡體   English   中英

ElasticSearch 錯誤:術語聚合器訂單路徑 [_key] 無效。 從 Java 執行聚合時未知聚合 [_key]

[英]ElasticSearch Error: Invalid term-aggregator order path [_key]. Unknown aggregation [_key] while performing aggregation from Java

執行聚合錯誤時出現以下錯誤:無效的術語聚合器順序路徑 [_key]。 從 Java 執行聚合時未知聚合 [_key]

代碼

 public static void main(String[] args){

 JestClient jestClient = getJestClient();

 SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
 searchSourceBuilder.size(100);
 searchSourceBuilder.aggregation(AggregationBuilders.terms("products").field("myField.keyword").
 valueType(ValueType.STRING).size(100));

 SearchRequest searchRequest = new SearchRequest(); 
 searchRequest.source(searchSourceBuilder);
 Search searchQuery = new Search.Builder(searchSourceBuilder.toString()).
setParameter(Parameters.SCROLL,"5m").setSearchType(SearchType.DFS_QUERY_THEN_FETCH).build();
JestResult hits = jestClient.execute(searchQuery);
System.out.println(hits.getJsonObject);
}

public static void getJestClient(){
JestClientFactory factory = new JestClientFactory();
        factory.setHttpClientConfig(
                new HttpClientConfig.Builder(hostname)
                        .multiThreaded(true)
                        .readTimeout(30000)
                        .build());
        return factory.getObject()
}

錯誤

{"error":{"root_cause":[{"type":"aggregation_execution_exception","reason":"Invalid term- 
aggregator order path [_key]. Unknown aggregation [ . 
  _key]"}],"type":"search_phase_execution_exception","reason":"all shards 
 failed","phase":"dfs_query","grouped":true,"failed_shards": 
[{"shard":0,"index":".kibana","node":"RwVYV0S-SVmiqfMuihkcHA","reason": 
{"type":"aggregation_execution_exception","reason":"Invalid term-aggregator order path 
 [_key]. Unknown aggregation [_key]"}}]},"status":500}

當我從 curl 運行時,我成功地獲得了output

Curl :

curl -v -X GET "https://hostname/_search?pretty" -H 'Content-Type: application/json' -d 
'{"aggs" : { "products" : { 
   "terms" : {"field" : "myField.keyword","size" : 5}
}}}'

不確定是 ElasticSearch java package 的問題還是我做錯了什么。

我正在使用Jest-5.xelasticsearch 7.4.2

請建議其他選擇

ElasticSearch 必須 5.X 那么問題就解決了

我有同樣的問題問題是Elasticsearch庫5和6及以上不兼容。 諸如“auto_generate_synonyms_phrase_query”、“_key”和“_doc”之類的問題。 Elasticsearch 版本 7 庫不支持 Elasticsearch 版本 5。您必須使用版本 org.elasticsearch:

      <dependency>
          <groupId>org.elasticsearch</groupId>
          <artifactId>elasticsearch</artifactId>
          <version>7.*.*</version>
      </dependency>

更改為版本 5:

      <dependency>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch</artifactId>
        <version>5.*.*</version>
      </dependency>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM