在elasticsearch中增强过滤器

时间:2014-08-04 06:55:46

标签: elasticsearch

我有一个书籍索引,其中包含字段标题,描述,作者名称,library_id(书籍所在的位置)。我想查询与提供的字符串匹配的书籍,并且我还提供了一个用于排名目的的library_ids数组。使用属于所提供的library_ids列表的library_ids的结果应该排名更高(得分更高)。

是否可以执行此类查询?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用ID查询

{
   "query": {
      "function_score": {
         "functions": [
            {
               "boost_factor": "50",
               "filter": {
                 "ids": {
                    "values": [
                       "library_ids"
                    ]
                 }
               }
            }
         ],
         "query": {
            "match_all": {}
         },
         "score_mode": "sum"
      }
   }
}

library_id必须是" _id"字段。