在Elasticsearch中使用mserch查询排除索引名称

时间:2018-11-15 11:29:00

标签: elasticsearch kibana

我正在使用Elasticsearch通过msearch API获取多个索引的日志。 但是我需要排除一些索引。假设我有a,b,c,d,e索引,但我不想包含索引b,c。

我写了elasticsearch查询来获取记录:

GET _msearch?
{"index":"*","size":100000,"exclude":["b","c"]}  //used kibana to check indexes
{"query":{}}  //required to successfully run the query

但是我得到的记录包括索引b,c。我检查了文档,但是没有得到适当的资源。 我该如何解决?

1 个答案:

答案 0 :(得分:2)

此代码应能解决问题:

GET _msearch?
{"index":"*,-b,-c","size":100000}
{"query":{}} 

记下-值中的负号("index")。

尽管_msearch文档页面中没有明确提及,但看起来大多数支持多索引执行的API work in the same way

  

大多数引用索引参数的API支持跨   多个索引,使用简单的test1,test2,test3表示法(或_all表示   所有索引)。   它还支持通配符,例如:test *或 test或te t或    test ,以及“排除”(-)的功能,例如:test *,-test3。

一般来说,在多个索引上进行搜索时similar question

相关问题