2017-02-11 14 views
0

Я пытаюсь получить доступ к 10 наиболее общим термином в моем индексе, выполнив:Elasticsearch: слишком много черепков

POST _search/ 
{ 
    "size":0, 
    "aggs":{ 
    "top-terms-aggregation":{ 
     "terms":{ 
      "field":"author_wording", 
      "size":10 
     } 
    } 
    } 
} 

Но я получаю следующее сообщение об ошибке:

{ 
    "type": "illegal_argument_exception", 
    "reason": "Trying to query 1157 shards, which is over the limit of 1000. This limit exists because querying many shards at the same time can make the job of the coordinating node very CPU and/or memory intensive. It is usually a better idea to have a smaller number of larger shards. Update [action.search.shard_count.limit] to a greater value if you really want to query that many shards at the same time." 
    } 

Проблема заключается в том, что я не настроил много осколков. В моем индексе у меня есть только один осколок, определенный в моих настройках:

"index" : { 
    "number_of_shards" : 1, 
    "number_of_replicas" : 0 
} 

Откуда эта ошибка? Как уменьшить количество осколков?

+2

Просто добавьте имя индекса перед '_search' как'/my_index/_search' иначе вы ищете по всем индексам – Val

ответ

1

Если вы диковинки о том, являются ли осколки, которые можно использовать кошачий API:

GET /_cat/shards 
+0

Все, кроме 2, не назначены, как я могу их закончить? – mel

+0

Вы не можете удалить осколки, просто индексы. Вы можете удалить весь индекс: DELETE/indexName – MosheZada

 Смежные вопросы

  • Нет связанных вопросов^_^