我正在尝试在python中使用elasticsearch dsl库,但我似乎得到某种截断的结果/元数据而不是文档/响应对象。下面的清理查询:
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来减少冗长。有没有人遇到这样的事情或有任何提示。非常感谢!
答案 0 :(得分:0)
execute()
的结果是已解析的JSON(结构与HTTP API的响应相同):
print(response.hits.total)
您还可以按如下方式迭代结果(documentation):
for h in response:
print(h.title, h.body)