elasticsearch elasticserch巢不';在功能评分中似乎没有支持增强因子,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch elasticserch巢不';在功能评分中似乎没有支持增强因子,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch elasticserch巢不';在功能评分中似乎没有支持增强因子

elasticsearch elasticserch巢不';在功能评分中似乎没有支持增强因子,elasticsearch,nest,elasticsearch,Nest,在下面的查询中,我希望能够将过滤器提升一个数字。在下面的查询中,它表示为“boost_factor”:100。这在elasticsearch中效果很好,但在Nest中似乎没有类似的功能。你知道如何构建这个吗 { "query": { "function_score": { "functions": [ { "script_score": { "script": "_score * doc['somevalue']

在下面的查询中,我希望能够将过滤器提升一个数字。在下面的查询中,它表示为“boost_factor”:100。这在elasticsearch中效果很好,但在Nest中似乎没有类似的功能。你知道如何构建这个吗

{
  "query": {
    "function_score": {
      "functions": [
        {
          "script_score": {
            "script": "_score * doc['somevalue'].value"
          }
        }, 
        {
          "filter": {
            "query":{
              "bool": {
                "should": [
                  {
                    "match": {
                      "title": {
                        "type": "phrase_prefix",
                        "query": "some query"
                      }
                    }  
                  }
                ]
              }
            }
          }, 
          "boost_factor": 100
        }
      ], 
      "query": {
      ...
      }

如果有人想知道,我确实在这里找到了答案。这是由于多功能lambda的不同使用

s.Query(q => q
.FunctionScore(cfs => cfs
    .Functions(
        fn => fn.ScriptScore(sc => sc.Script("_score * doc['somevalue'].value")),    
        fn => fn
            .BoostFactor(100)
            .Filter(SetFunctionFilters(searchDescriptor)
        )
    )       
    .Query(qy => qy
    ...)