使用ElasticSearch过滤多个索引

时间:2016-04-14 16:20:30

标签: elasticsearch

是否可以在Elasticsearch多索引查询上编写条件过滤器?

我正在查看过滤器脚本,但如果文档索引是我可以检查的变量,我在文档中的任何地方都看不到?

我现有的查询看起来像这样,请注意过滤器脚本不起作用 - 但我认为这是我需要进行查询的地方。

{
    "index": "tweets,articles,animals,buildings",
    "type": "item",
    "body": {
        "query": {
            "multi_match": {
                "query": "cat",
                "type": "phrase_prefix",
                "fields": [
                    "label",
                    "body"
                ]
            }
        },
        "filter": {
            "script": {
                "script": "if (_index == \"animals\") {return true;} else {return false}
            }
        },
        "from": 0,
        "size": 8
    }
}

显然,我想在此过滤器中执行更多操作,而不仅仅是从某个索引中排除项目,这只是一个示例。

1 个答案:

答案 0 :(得分:3)

您应该能够合并多个indices query来解决此任务。