在elasticsearch-py中搜索多个索引产生0个文档

Amo*_*hra 3 python indexing elasticsearch elasticsearch-py

我有一个跨多个索引的搜索查询。要根据文档启用此功能,我需要提供一个以逗号分隔的索引列表。

在此处输入图片说明 但是当我尝试这样做时: es.search(index='index1,index2',body=body)

我没有得到任何结果: {u'hits': {u'hits': [], u'total': 0, u'max_score': None}, u'_shards': {u'successful': 10, u'failed': 0, u'skipped': 0, u'total': 10}, u'took': 1, u'timed_out': False}

但是, index='_all' 可以搜索所有索引。我在这里做错了什么还是这个功能有问题?谢谢。

Lup*_*ide 9

根据您发布的文档:

  • 索引一个逗号分隔的列表......(enphasys 是我的)

在您的代码中,您传递一个字符串:

es.search(index='index1,index2',body=body)
Run Code Online (Sandbox Code Playgroud)

所以你应该简单地:

es.search(index=['index1','index2'],body=body)
Run Code Online (Sandbox Code Playgroud)