Je le code suivant:Comment accéder à l'objet de réponse à l'aide DSL ElasticSearch pour python
s = Search(using=Elasticsearch('http://user:[email protected]'), index="myindex")
q = Q("multi_match", query='some query', fields=['_all'])
s = s.query(q)
response = s.execute()
print('Total %d hits found.' % response.hits.total)
for hit in response:
print(hit.title)
Et j'obtiens l'erreur:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/elasticsearch_dsl/utils.py", line 102, in __getattr__
return _wrap(self._d_[attr_name])
KeyError: 'title'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "FindImage.py", line 89, in <module>
main(args.image_file)
File "FindImage.py", line 82, in main
query_db([1], [2])
File "FindImage.py", line 77, in query_db
print(hit.title)
File "/usr/local/lib/python3.5/dist-packages/elasticsearch_dsl/utils.py", line 105, in __getattr__
'%r object has no attribute %r' % (self.__class__.__name__, attr_name))
AttributeError: 'Result' object has no attribute 'title'
Cependant ce qui est en contradiction directe avec ce que les docs état: Docs
Qu'est-ce que je fais mal? Comment puis-je extraire correctement les résultats et mes valeurs de la réponse?
EDIT
également l'objet de réponse ist censé avoir une méthode « toDict » mais lorsque je tente de l'appeler j'obtenir à nouveau un AttributeError.