#django #elasticsearch #django-haystack
#django #elasticsearch #джанго-стог сена
Вопрос:
Вот мой код:
qs_pk = Vacancy.objects.values_list('pk', flat=True)
sqs = SearchQuerySet().models(Vacancy)
sqs = sqs.filter(id__in=qs_pk)
когда я пытаюсь использовать sqs.count()
метод, я получаю исключение:
elasticsearch.исключения.Ошибка запроса: TransportError (400, ‘search_fase_execution_exception’, ‘Не удалось проанализировать запрос [идентификатор: («281134» ИЛИ «281135», ИЛИ «272222», ИЛИ «287848», ИЛИ «190255», ИЛИ «266921», ИЛИ «235700», ИЛИ «235683», ИЛИ «281138», ИЛИ «281144», ИЛИ » 186683″ ИЛИ «281145», ИЛИ «281147», ИЛИ «244712» …………….
но если я ограничу qs_pk = qs_pk[:1024]
, тогда все в порядке.
Ответ №1:
Я кое-что нашел в elasticsearch
журналах:
Caused by: org.apache.lucene.search.BooleanQuery$TooManyClauses: maxClauseCount is set to 1024
Возможно, для этого нужно отредактировать некоторое значение elasticsearch.yml