elasticsearch - elasticsearch范围和项过滤器

标签 elasticsearch

我正在尝试在Elastic 2.X中创建过滤的索引别名

以下是所有性别的青少年。我只想在此过滤器中看到女性。

这就是我要创建索引别名的内容:

"add" : {
        "index" : "myindex",
        "alias" : "teenage_female",
        "filter" : 
        {
            "bool" : 
            {
                "must" : 
                [               
                    { "term": { "gender": "female" } },
                    { "range": { "age": { "gt": "12", "lt": "20" } } }
                ]
            }
        }
    }
}

我看过这个问题,似乎是相同的答案,但是JSON中肯定有问题。

Elasticsearch connect range and term to same array item

最佳答案

过滤器不能是数组,除非将其包装在带有“必须”的“ bool(boolean) ”中。

以下过滤器正常工作:

  "filter" : 
  {
    "bool" : 
    {
      "must" : 
      [
        { "term": { "gender": "female" } },
        { "range": { "age": { "gt": "12", "lt": "20" } } }
      ]
    }
  }

关于elasticsearch - elasticsearch范围和项过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44855919/

相关文章:

elasticsearch - Elasticsearch 中的内部对象与反规范化

python - 使用 Python + Elasticsearch 时出现 BulkIndexError : ('500 document(s) failed to index.' ,

ruby-on-rails - 基于关联模型的Rails模型范围

elasticsearch - Elasticsearch查询以一个月的最新日期形式获得不同的结果

elasticsearch - Elasticsearch聚合。按嵌套存储桶doc_count排序

c# - ElasticSearch创建索引

sorting - ElasticSearch按ID在数组中排序

elasticsearch - 在没有时间的情况下在 ElasticSearch 中搜索日期字段值

mongodb - elasticsearch 2.2.0 支持的 elastic river-mongodb 插件的替代品是什么?

elasticsearch - 结合基数聚合和 'where'条件?