Elasticsearch的java-Api使用中不能进行function_score中进行直接加weight

在连接elsearch中java客服端进行过滤然后加weight操作时发现java中api没有这个操作了

//对java-article中所有文档text字段为“文本"的进行搜索并对结果中userId字段为1的进行加weight
 SearchResponse<Article> search = client.search(request -> request.index("java-article")
                .query(value -> value.
                        functionScore(v->v.
                                query(query->query.
                                        match(mq->mq.
                                                field("text").query(fv->fv.stringValue("文本"))))
                                .functions(new FunctionScore()))),Article.class);
GET /java-article/_search
{
  "query": {
    "function_score": {
      "query": {
        "match": {
          "text": "文本"
        }
      },
      "functions": [
        {
          "filter": {
            "term": {
              "userId": 1
            }
          }, 
          "weight": 2,
        }
      ]
    }
  }
}

img

这是正常结果

img

这是加weight之后

img


FunctionScore需要一个接口的实现类而此接口实现类如下并不支持weight而是其他类型

img