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

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

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

{
    "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
    }
}

显然,我想在此过滤器中做更多的事情,而不仅仅是从某个索引中排除项目,这只是一个例子。

最佳答案

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

关于elasticsearch - 使用ElasticSearch跨多个索引过滤,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36628662/

10-10 23:08
查看更多