MST

星途 面试题库

面试题:ElasticSearch布尔值API在简单条件判断中的应用

假设在ElasticSearch中有一个包含用户信息的索引,用户信息包含年龄、性别等字段。现在要查询年龄大于30岁且性别为男性的用户,请描述如何使用ElasticSearch布尔值API来构建这个查询条件,并写出对应的DSL语句。
25.1万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试
  1. 使用布尔值API构建查询条件描述
    • 使用bool查询,它是Elasticsearch中用于组合多个查询子句的复合查询。
    • bool查询中,使用must子句来确保查询条件都必须满足。这里将“年龄大于30岁”和“性别为男性”这两个条件放在must子句中。
  2. 对应的DSL语句
{
    "query": {
        "bool": {
            "must": [
                {
                    "range": {
                        "年龄": {
                            "gt": 30
                        }
                    }
                },
                {
                    "term": {
                        "性别": "男性"
                    }
                }
            ]
        }
    }
}

假设索引中字段名“年龄”和“性别”与上述DSL语句中的一致,如果实际字段名不同,需要相应修改。