让我先说一下我是 ElasticSearch 和 NEST 的新手,可能做错了什么。这是使用 NEST 7.6.2。
我正在按照文档使用对象初始化器语法创建一个field_value_factor
包含过滤器和权重的得分函数,即:
new FieldValueFactorFunction
{
Field = "foo",
Modifier = FieldValueFactorModifier.Log1P,
Missing = 1,
Filter = new MatchQuery
{
Field = "bar",
Query = "1"
},
Weight = .2
}
但是,在运行时,它似乎在查询本身中输出了无效的 json 格式:
{
"filter": {
"match": {
"bar": {
"query": "1"
}
}
},
"field_value_factor": {
"field": "foo",
"missing": 1.0,
"modifier": "log1p",
"filter": {
"match": {
"bar": {
"query": "1"
}
}
},
"weight": 0.2
},
"weight": 0.2
}
失败并出现错误field_value_factor query does not support [value]
。我确实知道我要模拟的有效函数语法如下:
{
"filter": {
"match": {
"bar": {
"query": "1"
}
}
},
"field_value_factor": {
"field": "foo",
"missing": 1.0,
"modifier": "log1p"
},
"weight": 0.2
}
这是 NEST/Elasticsearch.net 中的错误吗?我的语法不正确吗?有没有其他方法可以做我想做的事情?