2017-05-11 7 views
0

Ich verwende ES 5.2.0 und ich habe unter Ausnahme während einiger Abfrageausführung:Nicht in der Lage „maxClauseCount“ Wert in Elasticsearch zu ändern

Caused by: NotSerializableExceptionWrapper[too_many_clauses: maxClauseCount is set to 1024] 
    at org.apache.lucene.search.BooleanQuery$Builder.add(BooleanQuery.java:125) 
    at org.elasticsearch.index.query.BoolQueryBuilder.addBooleanClauses(BoolQueryBuilder.java:449) 
    at org.elasticsearch.index.query.BoolQueryBuilder.doToQuery(BoolQueryBuilder.java:418) 

Um dies zu lösen. Ich versuche

, indem Sie unter Abfrage "indices.query.bool.max_clause_count" Wert zu ändern Anfrage:

PUT http://localhost:9200/_all/_settings?preserve_existing=true 
{"indices.query.bool.max_clause_count" : "100000"} 

Antwort:

{ 
    "error": { 
    "root_cause": [ 
     { 
     "type": "remote_transport_exception", 
     "reason": "[06LrSZC][localhost:9300][indices:admin/settings/update]" 
     } 
    ], 
    "type": "illegal_argument_exception", 
    "reason": "unknown setting [index.indices.query.bool.max_clause_count] please check that any required plugins are installed, or check the breaking changes documentation for removed settings" 
    }, 
    "status": 400 
} 

Referenzen Ich löse verwendet, konnte aber nicht :

https://www.elastic.co/guide/en/elasticsearch/reference/5.0/breaking_50_settings_changes.html#_search_settings

https://discuss.elastic.co/t/5-0-0-alpha2-how-to-set-index-query-bool-max-clause-count/49816

https://github.com/elastic/elasticsearch/pull/18341

Informieren Sie mich bitte die richtige Anforderung JSON, dies zu tun.

Antwort

3

indices.query.bool.max_clause_count ist eine statische Einstellung, so dass Sie es in elasticsearch.yml Datei in jedem Knoten des Elasticsearch-Clusters festlegen sollten. Sie müssen den Cluster neu starten.

Aktualisieren Sie Ihre elasticsearch.yml Datei mit folgenden Zeilen:

indices.query.bool.max_clause_count: 100000 

Hinweis: Nur dynamische Einstellungen können mit API aktualisiert werden

1

, dass eine globale Einstellung, nicht Indexebene ein und sein Platz ist in elasticsearch.yml Datei:

indices.query.bool.max_clause_count: 10000 

Deshalb ist es auch ausumbenannt wurde(Einzahl) bis indices (Mehrzahl).

Verwandte Themen