Python ElasticSearch DSL截断结果

时间:2016-02-08 18:54:27

标签: python elasticsearch

我正在尝试在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来减少冗长。有没有人遇到这样的事情或有任何提示。非常感谢!

1 个答案:

答案 0 :(得分:0)

execute()的结果是已解析的JSON(结构与HTTP API的响应相同):

print(response.hits.total)

您还可以按如下方式迭代结果(documentation):

for h in response:
   print(h.title, h.body)