三人行必有我师

es多字段匹配 按字段匹配情况自定义得分

Elasticsearch | 作者 Jea | 发布于2016年03月21日 | 阅读数:6039

大家好, 现在我的搜索在去除完filter和不用function_score是这样的
{
  "query": {
    "filtered": {
      "query": {
        "multi_match": {
          "query": "keyword",
          "type": "phrase",
          "fields": [
            "field1",
            "field2",
            "field3"
          ]
        }
      }
    }
  }
}
现在有一个需求是, 我需要在 field1,2,3中的得分比自己能够控制, 比如: field1得分*2, field2得分*1 ,field3得分*0.5 我需要怎么办? 我找不到合适的方法
已邀请:

Jea - 一只猿

赞同来自:

目前暂时的做法是写script

helloes

赞同来自:

是要这种效果吗?
{
"query": {
"filtered": {
"query": {
"multi_match": {
"query": "keyword",
"type": "phrase",
"fields": [
"field1^2",
"field2^1",
"field3^0.5"
]
}
}
}
}
}

Jea - 一只猿

赞同来自:

我擦...真特么日了狗了, 为什么我没在官方文档上找到....我去

要回复问题请先登录注册