如何使用NEST将RandomScore应用于FunctionScore查询

时间:2015-11-06 14:44:47

标签: c# elasticsearch nest

我正在尝试将RandomScore应用于functionScore查询,如下所示(我简化了过滤器列表):

sd.Query(q => q
    .FunctionScore(fs => fs
        .Query(fsq => fsq.MatchAll())
        .Functions(
            fx => fx.Weight(0.8).Filter(f => f.Term("ImageSize", "Small")),
            fx => fx.Weight(0.7).Filter(f => f.Exists(t => t.ThumbnailUrl)))
        .RandomScore(74)
        .ScoreMode(FunctionScoreMode.Multiply)
        .BoostMode(FunctionBoostMode.Multiply)
    )
);

当我执行此操作时,我收到以下错误:

  

ElasticsearchParseException [您可以定义“函数”:[...]或   单一功能,而不是两者。找到“功能”:[...]已经,现在   遇到“random_score”。];

我做错了什么还是这个错误?

非常感谢。

1 个答案:

答案 0 :(得分:0)

根据上面的Rob,这是一个已知错误,将在下一个版本中修复 - https://github.com/elastic/elasticsearch-net/issues/1559