添加条件以进行查询

时间:2016-09-07 15:42:43

标签: elasticsearch

我有一个有效的查询。我怎么需要添加一个条件。 我想获得一个也有“标记”字段的文档:“true”

这是我的疑问。

{
  "from": 0,
  "size": 100,
  "min_score": 0.6,
  "query": { 
      "bool": {
          "should": [
              { "multi_match" : {
                  "fields" : ["_all"],
                  "query" : " Test " ,
                  "fuzziness" : "1.5" ,
                  "prefix_length" : "2" 
              }
            }
          ],
          "must": { "bool": { "must": [
              { "terms": { "language.id":["1"] }},
              { "term": { "forbidden":"false" }}
         ]
        }}}
   },  "sort": [{ "_score": { "order": "desc"}} ]
}

我一直在尝试在两个必须条款之后添加一个should子句。 我在哪里可以说这个条件?

1 个答案:

答案 0 :(得分:0)

试试这个

{
  "query": {
    "bool": {
      "should": [
        {
          "multi_match": {
            "fields": [
              "_all"
            ],
            "query": " Test ",
            "fuzziness": "1.5",
            "prefix_length": "2"
          }
        }
      ],
      "must": [
        {
          "terms": {
            "language.id": [
              "1"
            ]
          }
        },
        {
          "term": {
            "forbidden": "false"
          }
        },
        {
          "term": {
            "marked": "true"
          }
        }
      ]
    }
  }
}