multi-index&&multi-type搜尋原理以及搜尋模式解析
阿新 • • 發佈:2018-12-25
這個主要是演示下如何一次性搜尋多個索引(index)
首先建立2個索引,如下
PUT /test1/type1/apple
{
"name":"apple",
"color":"red",
"price":8.8
}
PUT /test1/type1/pear
{
"name":"pear",
"color":"yellow",
"price":4.5
}
然後用以下方式都可以實現一次搜尋多個索引
序號 | 實現方式 | 說明 |
1 | GET /test1,test2/_search | 同時搜尋兩個index下的資料 |
2 | GET /*1,*2/_search | 按照萬用字元去匹配多個索引 |
這個主要是演示下如何一次性搜尋多個型別(type)
首先在test1索引下再建立一個type11的型別,如下
PUT /test1/type11/specialpear { "name":"specialpear", "color":"yellow", "price":10 }
PUT /test2/type11/specialapple
{
"name":"specialapple",
"color":"red",
"price":12
}
然後用以下方式都可以實現一次搜尋多個型別
序號 | 實現方式 | 說明 |
1 | GET /test1/type1,type11/_search | 搜尋一個index下多個type的資料 |
2 | GET /test1,test2/type11/_search | 搜尋多個index下同一個type的資料 |
3 | GET /_all/type1,type2/_search | 搜尋所有index下的指定type的資料 |
1. 客戶端向ES叢集傳送一個搜尋請求,會把請求打到所有的primary shard上,這是因為每個primary shard都包含部分資料,都可能包含搜尋的部分結果.
2. 如果一個primary shard有對應的replica shard,那麼搜尋請求也可能轉發到對應的replica shard上。