"升压"不适用于" term"询问

时间:2015-07-10 11:18:09

标签: elasticsearch

我正在运行Elasticsearch 1.5.2并尝试以下查询:

{
  "query": {
    "filtered": {
      "filter": {
        "bool": {
          "must": [
            {
              "term": {
                "gender": "male"
              }
            }
          ]
        }
      },
      "query": {
        "bool": {
          "must": [
            {
              "match_all": {}
            }
          ],
          "should": [
            {
              "term": {
                "top_users": 1,
                "boost": 2
              }
            }
          ]
        }
      }
    }
  }
}

一切都很好,直到我将" boost":2 添加到should - >术语部分。完整的查询要复杂得多,这就是我需要提升的原因,但剩下的查询没有任何区别:如果 term 查询得到的话,ES会返回错误400 提升参数:

QueryParsingException [[index_name] [_ na]查询格式错误,必须以start_object开头]

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

应该是like this

{
  "query": {
    "filtered": {
      "filter": {
        "bool": {
          "must": [
            {
              "term": {
                "gender": "male"
              }
            }
          ]
        }
      },
      "query": {
        "bool": {
          "must": [
            {
              "match_all": {}
            }
          ],
          "should": [
            {
              "term": {
                "top_users": {
                  "value": "1",
                  "boost": 2
                }
              }
            }
          ]
        }
      }
    }
  }
}