【发布时间】:2020-10-02 17:47:14
【问题描述】:
我一直在使用 ElasticSearch DSL python 包来查询我的弹性搜索数据库。查询方法非常直观,但我在检索文档时遇到问题。这是我尝试过的:
from elasticsearch import Elasticsearch
from elasticsearch_dsl import Search
es = Elasticsearch(hosts=[{"host":'xyz', "port":9200}],timeout=400)
s = Search(using=es,index ="xyz-*").query("match_all")
response = s.execute()
for hit in response:
print hit.title
我得到的错误:
AttributeError: 'Hit' object has no attribute 'title'
我用谷歌搜索了错误并找到了另一个 SO:How to access the response object using elasticsearch DSL for python
解决方案提到:
for hit in response:
print hit.doc.firstColumnName
不幸的是,我又遇到了与“doc”相同的问题。我想知道访问我的文档的正确方法是什么?
任何帮助将不胜感激!
【问题讨论】:
-
您可以 print(s.to_dict()) 和 print(response.to_dict()) 来查看对象
-
谢谢!那确实奏效了!
标签: python elasticsearch