基于布尔字段值提升弹性搜索

use*_*696 1 json boolean elasticsearch

嗨,我是弹性搜索的新手,我要根据布尔值提示尝试提升.

我有一个文章列表,我想得到所有文章里面的标题"louvre".

并在非活动文章之前提升活动文章.我仍然希望能够看到活动和非活动文章.但在列表的顶部是活跃的.

这是我到目前为止所得到的:

 {
  "query": {
    "multi_match" : {
      "query":    "louvre",
      "fields": [  "title", "isActive(true)^3", "isActive(false)^2" ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

And*_*fan 5

试试这个:

{
  "query": {
    "bool": {
      "must": [
        {"match": {"title": "louvre"}}
      ],
      "should": [
        {"term": {"isActive": {"value": true}}}
      ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)