如何解决Elasticsearch Nest错误的function_Score JSON生成
我正在尝试为function_score搜索查询构建以下函数:
public class A
{
[required(ErrorMessage = "Error1")]
public string Phone { get; set; }
}
public class B
{
[required(ErrorMessage = "You must fill this parameter")]
public string Name { get; set; }
}
这是我目前的.Net代码
{
"filter": {
"range": {
"availabilityAverage": {
"gt": 0
}
}
},"field_value_factor": {
"field": "availabilityAverage","factor": 1,"modifier": "log1p"
},"weight": 100
}
.FieldValueFactor(ff => ff
.Field(fff => fff.StandardPriceMin)
.Factor(2)
.Modifier(FieldValueFactorModifier.Log1P)
.Weight(100)
.Filter(faf => faf
.Range(r => r
.Field(rf => rf.AvailabilityAverage)
.GreaterThan(0.0)
)
)
)
它可以在 field_value_factor 的外部正确添加过滤器和权重,但还可以在内部的子元素中包含“ Filter”和“ weight”。对于其他格式(例如具有完全相同格式的Randomscore(),但仅具有field_value_factor),情况并非如此。
我尝试了几种不同的组合,但均未提供预期的结果。 nesT正在生成此JSON是否正常?
谢谢。
解决方法
IFieldValueFactorFunction
的序列化方式似乎存在错误,导致filter
和weight
被两次包含在"field_value_factor"
之外和内部。 I've opened a pull request to address。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。