ElasticSearch-multi-index和multi-type搜索模式

如何一次性搜索多个index和多个type下的数据

# /index1,index2/_search 同时搜索两个index下的数据
es.search(index="test_index,test_index2")

#  /*1,*2/_search 按照通配符去匹配多个索引
es.search(index="*1,*2")

# /index1/type1,type2/_search  可以搜索一个index下多个type的数据
es.search(index="test_index1",doc_type="test_type1,test_type2")

# /index1,index2/type1,type2/_search  搜索多个index下的多个type的数据
es.search(index="test_index1,test_index2",doc_type="test_type1,test_type2")

# /_all/type1,type2/_search  _all,可以代表搜索所有index下的指定type的数据
es.search(index="_all",doc_type="test_type1,test_type2")
"""
# 400, 'action_request_validation_exception', 'Validation Failed: 1: no requests added;
# 需要满足以下组成形式
header\n
body\n
header\n
body\n
"""

# python es api中也提供了msearch方式来支持multi-index和multi-type
result = es.msearch(body=[
     {"index": "test_index"}, {"query": {"match_all": {}}},
     {"index": "test_index2"}, {"query": {"match_all": {}}}
 ])

你可能感兴趣的:(ElasticSearch-multi-index和multi-type搜索模式)