Elasticsearch查询多个索引

为什么要使用多个索引?

您可能有多个原因,可能会对Elasticsearch集群中的给定应用程序使用多个索引。最受欢迎的事实之一是删除索引非常有效(而删除许多文档则效率不高)。如果您的应用程序经常添加和删除数据,这将很有用。例如,如果您的应用程序最近100天在Elasticsearch中保持数据,则可以每周将数据划分为一个索引。这种方法非常有效,可以在大约15个索引中进行搜索以查询全部100天,这是一个适度的折衷方案。

另一个示例是多租户应用程序(例如,类似Gmail的应用程序),其中每个用户的数据都存储在单个索引中。这使您可以独立缩放每个索引。

在需要查询多个索引的情况下,Elasticsearch通过允许您指定搜索的范围以包括多个索引(以逗号分隔的列表,基于正则表达式或其他方便选项的方式)来简化此操作。也一样

假设一个方案每周使用一个索引,下面是一些示例,搜索带有“ dremio”标签的文档:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

# search a specific index

curl -XGET 'localhost:9200/2017-week47/_search?q=tag:dremio'

 

# search specific year

curl -XGET 'localhost:9200/2017-*/_search?q=tag:dremio'

 

# search a specific week across all years (eg, holidays)

curl -XGET 'localhost:9200/*-week51/_search?q=tag:dremio'

 

# search across all weeks

curl -XGET 'localhost:9200/_all/_search?q=tag:dremio'

 

# search across all weeks, except Christmas week

curl -XGET 'localhost:9200/+_all,-*week51/_search?q=tag:dremio'

 

# In case you are using types, the same idea applies to types:

 

# search across users and orders, for all weeks, except Christmas week

curl -XGET 'localhost:9200/+_all,-*week51/users,orders/_search?q=tag:dremio'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值