提出了类似的问题here。但是,我在衰减功能方面遇到了麻烦。
为什么这样做......
_client.Search<object>(s => s
.Query(q => q
.FunctionScore(fs => fs
.Functions(f => f
.ScriptScore(ss => ss.Script("1"))
.Filter(ff => ff.Term("a", "b")))
.BoostMode(FunctionBoostMode.sum))));
但这不是吗?
_client.Search<object>(s => s
.Query(q => q
.FunctionScore(fs => fs
.Functions(f => f
.Gauss(p => "someField", g => g.Origin("0").Offset("1"))
.Filter(ff => ff.Term("a", "b")))
.BoostMode(FunctionBoostMode.sum))));
错误:'Nest.FunctionScoreFunction'不包含'Filter'的定义,也没有扩展方法'Filter'接受类型为'Nest.FunctionScoreFunction'的第一个参数'(你是否缺少using指令或程序集)引用?)
另外,我不认为高斯函数的第一个参数的语法是正确的(即使删除了过滤器)。是否有正确语法的好例子?
答案 0 :(得分:1)
这是NEST中的一个错误,但后来用PR #799
解决了答案 1 :(得分:0)
我在版本2.3中遇到了同样的问题。 我在stackoverflow上的解决方案:https://stackoverflow.com/a/40629251/257470