elasticsearch - 使用ElasticSearch跨多个索引过滤

标签 elasticsearch

是否可以在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/

相关文章:

elasticsearch - 如何编写匹配查询或使用前缀查询

elasticsearch - elasticSearch geoPoint的问题

go - 不能在函数参数中使用 true(bool 类型)作为字符串类型

javascript - 仅返回部分术语的 ElasticSearch 查询

elasticsearch - 如何在 Elasticsearch 中的现有映射中添加新字段时添加默认值

php - Composer 安装错误 "Could not parse URElasticsearch\Common\Exceptions\InvalidArgumentException : Could not parse URII"

elasticsearch - ES中是否存在带有slop的多词同义词

elasticsearch - Elasticsearch-查询以从展平结构中获取记录的最新版本

elasticsearch - 用于Elasticsearch的自定义 token 过滤器

elasticsearch - 自定义坚果索引编写器以将值映射到弹性docin multielvel(例如JSON)