Я пытаюсь использовать библиотеку elasticsearch dsl в python, но я, кажется, получаю какие-то усеченные результаты/метаданные вместо объекта document/response. Sanitized запрос ниже:Python ElasticSearch DSL Truncating Results
from elasticsearch_dsl import Search, Q, F
from elasticsearch_dsl.query import MultiMatch
from elasticsearch import Elasticsearch
import requests
import json
client = Elasticsearch("")
s = Search().using(client).query("match", id="1")
response = s.execute()
test_response = response.json()
Который дает эту ошибку:
AttributeError: 'Response' object has no attribute 'json'
Я надеялся использовать новый DSL, чтобы держать вещи менее многословными. Кто-нибудь сталкивался с чем-то вроде этого или имел какие-либо советы. Очень признателен!
Интересно. У вас есть какая-то догадка о том, почему я вижу следующие «u'request_attributes»: {}, ...} "? По некоторым причинам мои результаты усекаются. Я подтверждаю, что они вошли в плагин/head. – Pylander
Вы уверены, что следуете советам по выбору правильной версии библиотек для вашей версии Elasticsearch (http://elasticsearch-dsl.readthedocs.org/en/latest/index.html#compatibility)? –
Хммм, это может быть проблемой. Я вижу подробности в руководстве по запуску. Когда я изначально установил elasticsearch-dsl через pip, он понизил elasticsearch с 2.2.0 до 1.9.0, и я не заметил. Поскольку на данный момент я использую jupyter notebooks, мне нужно найти обходной путь для настройки setup.py/requirements.txt. – Pylander