Py学习  »  Elasticsearch

如何查询特定的ElasticSearch类型并获取匹配关键字的记录?

CSA75 • 5 年前 • 715 次点击  

我已经构建了以下ElasticSearch(Post)查询,以便获取符合以下标准的记录: -选择类型:“服务器” -选择字段:“servername”、“silo”、“packages.displayname”、“packages.displayversion”、“environment”

{
    "size": 10,
    "_source" : ["servername", "silo", "packages.displayname", "packages.displayversion","environment"],
    "query": {
          "type" : {
            "value" : "server"
        }
    }
}

它起作用了!

问题是当我想添加以下条件时: -“packages.displayname”=“谷歌浏览器”

{
    "size": 10,
    "_source" : ["servername", "silo", "packages.displayname", "packages.displayversion","environment"],
    "query": {
          "type" : {
            "value" : "server"
        },
        "match" : {"packages.displayname" : "Google Chrome"}
    }
}

它不起作用!出现以下错误:

"type": "parsing_exception",
                "reason": "[type] malformed query, expected [END_OBJECT] but found [FIELD_NAME]",
                "line": 8,
                "col": 9

我对ElasticSearch一窍不通……有人能帮我弄清楚该怎么写这个问题吗?

谢谢

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30716
 
715 次点击  
文章 [ 1 ]  |  最新文章 5 年前
LeBigCat
Reply   •   1 楼
LeBigCat    5 年前

你必须建造一座城堡;

{
  "query": {
    "bool": {
      "must": {
        "match": {
          "packages.displayname": "Google Chrome"
        }
      },
       "must": {
        "type": {
          "value": "server"
        }
      }
    }
  }
}