es 多个index联合查询分页
时间: 2023-11-18 09:06:19 浏览: 268
可以使用 `bool` 查询将多个索引的查询语句联合起来,然后再通过 `from` 和 `size` 进行分页。以下是一个示例请求:
```
POST /index1,index2/_search
{
"from": 0,
"size": 10,
"query": {
"bool": {
"must": [
{
"match": {
"field1": "value1"
}
},
{
"match": {
"field2": "value2"
}
}
]
}
}
}
```
这个示例请求中,通过 `index1,index2` 指定了需要查询的多个索引,`from` 和 `size` 指定了分页信息,`bool` 查询将两个 `match` 查询语句联合起来,并且要求两个查询语句的结果都需要匹配。你可以根据自己的需求修改查询语句。
相关问题
es 多个index 不同字段联合查询分页
可以使用 `bool` 查询将多个索引中不同字段的查询语句联合起来,并且再通过 `from` 和 `size` 进行分页。以下是一个示例请求:
```
POST /index1,index2/_search
{
"from": 0,
"size": 10,
"query": {
"bool": {
"must": [
{
"match": {
"field1": "value1"
}
}
],
"should": [
{
"match": {
"field2": "value2"
}
},
{
"match": {
"field3": "value3"
}
}
]
}
}
}
```
这个示例请求中,通过 `index1,index2` 指定了需要查询的多个索引,`from` 和 `size` 指定了分页信息,`bool` 查询将一个 `must` 查询语句和两个 `should` 查询语句联合起来。其中,`must` 查询语句要求查询结果必须要匹配 `field1:value1`,而 `should` 查询语句表示查询结果匹配其中任意一个条件即可。你可以根据自己的需求修改查询语句。
es 先查询index1 再查询index2 然后分页
可以使用 `multi_search` API 进行多个查询请求,然后再通过 `from` 和 `size` 进行分页。以下是一个示例请求:
```
POST /_msearch
{}
{"index": "index1"}
{"query": {"match": {"field1": "value1"}}}
{}
{"index": "index2"}
{"query": {"match": {"field2": "value2"}}}
{"from": 0, "size": 10}
```
这个示例请求中,通过 `multi_search` API 发送了两个查询请求,先查询 `index1` 中的 `field1:value1`,再查询 `index2` 中的 `field2:value2`,然后通过 `from` 和 `size` 分页显示结果。你可以根据自己的需求修改查询语句。
阅读全文