Python3中的Elasticsearch .search对象返回错误

时间:2016-02-07 14:10:40

标签: python arrays json python-3.x elasticsearch

我一定错过了什么。当我做一个elastic.search(index ='假释',q =' sometext')时,我得到了一个返回的对象。我试图在这个对象中获取元素

data=elastic.search(index='parole', q='sometext')
mydata=data['hits']['hits']

这很有效。

但如果我这样做:

mydata['_source']
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        TypeError: list indices must be integers or slices, not str

我做错了什么?

>>> mydata=data['hits']['hits']
>>> mydata
    [{'_id': '6', '_source': {'parole_de_la_chanson': " Blabla", 'titre_chanson':  'Allo Maman Bobo', 'numero_id_json': 'key6', 'nom_du_chanteur': ' 'Alain Souchon '}, '_index': 'parole', '_type': 'string', '_score': 0.2802974}]

1 个答案:

答案 0 :(得分:2)

问题是data是一个列表。我说,试试mydata = data[0]['hits']['hits'],但它看起来并不像'hits'就在那个列表中,即使在字典中也是如此。