获取以搜索查询开头的弹性搜索结果到搜索列表的顶部

时间:2016-03-10 13:09:24

标签: elasticsearch

我需要将以foo bar开头的结果放到搜索列表的顶部。我该如何修改我的查询?

预期结果清单:

Foo bar, Foo bar foo, Foo bar 1, John doe foo bar, John foo, john bar

GET default/media / _search ? pretty
{
    "query":{
    "filtered": {
        "query": {
            "bool": {
                "should": [
                 {
                     "match": {
                     "title": {
                         "query": "foo bar",
                            "boost": 1
                        }
                    }
                 },
                 {
                     "match_phrase": {
                     "title": {
                         "query": "foo bar",
                            "boost": 5
                        }
                    }
                 }
              ]
            }
         },
        "filter": {
            "bool": {
                "must": [
                     {
                         "term":{
                         "is_active":1
                     }
                    },
                    {
                        "bool": {
                        "should": [
                                {
                                    "bool": {
                                    "must": [
                                           {
                                               "term":{
                                               "media_type_id":1
                                               }
                                           },
                                           {
                                               "term":{
                                               "is_home":1
                                               }
                                           }
                                        ]
                                    }
                                },
                                {
                                    "term":{
                                    "media_type_id":3
                                    }
                                }
                            ]
                        }
                    }
                  ]
             }
         }
      }
   }
}

0 个答案:

没有答案