如何一次性搜索多个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中进行多索引和多类型数据的一次性搜索,包括使用通配符匹配多个索引、搜索单一索引下的多个类型数据、搜索多个索引下的指定类型数据等高级搜索技巧。
1200

被折叠的 条评论
为什么被折叠?



