如何使用 NEST 将 RandomScore 应用于 FunctionScore 查询
How do I apply RandomScore to a FunctionScore query using 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[You can either define "functions":[...] or
a single function, not both. Found "functions": [...] already, now
encountering "random_score".];
我是不是做错了什么或者这是一个错误?
非常感谢。
根据上面的 Rob,这是一个已知错误,将在下一个版本中修复 - https://github.com/elastic/elasticsearch-net/issues/1559
我正在尝试将 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[You can either define "functions":[...] or a single function, not both. Found "functions": [...] already, now encountering "random_score".];
我是不是做错了什么或者这是一个错误?
非常感谢。
根据上面的 Rob,这是一个已知错误,将在下一个版本中修复 - https://github.com/elastic/elasticsearch-net/issues/1559