TypeError: search () получил неожиданный аргумент ключевого слова 'doc_type' для эластичного поиска версии 5.6 - PullRequest
1 голос
/ 20 июня 2019

Я хочу читать документы из определенного индекса и определенного типа из эластичного поиска.Я строю запрос:

es.search(index="document_index, doc_type="document_type", body={"query": {"match_all": {}}})['hits']['total']

Я получаю ошибку TypeError: search() got an unexpected keyword argument 'doc_type'.Я просмотрел несколько ссылок, приведенных ниже, чтобы найти решение, но везде основной ответ - понизить версию ES.Но наше требование - сохранить версию ES 5.6.

и еще пара

Есть ли альтернатива упоминанию типа документа?

Ответы [ 2 ]

1 голос
/ 21 июня 2019

Нет другого типа. Выдает ошибку из-за другой версии

Вчера я столкнулся с той же проблемой. Вам нужно проверить версиюasticsearch или Вы можете напрямую загрузить версию с помощью этой команды: sudo pip installasticsearch == версия (например, 6.3.1)

Вы можете проверить текущую эластичную версию с помощью этой команды - pip freeze

0 голосов
/ 20 июня 2019

Похоже, что версия вашего клиента pythonasticsearch выше, чем v5.6.Удалите существующую версию, совместимую с doc_type, например, 5.5.3

Удалите : pip uninstall elasticsearch, а затем Установите pip install elasticsearch==5.5.3

NB Я предлагаю сделать это, потому чтоasticsearch больше не поддерживает несколько типов документов для каждого индекса, используя doc_type

...