ElasticSearch NEST - FieldValueFactorFunction 评分函数输出无效的 json 查询

问题描述

让我在开头说我是 ElasticSearch 和 nesT 的新手,可能做错了什么。这是使用 nesT 7.6.2。
我正在按照 documentation 创建一个 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"
            }
        }
    },"modifier": "log1p"
    },"weight": 0.2
}

这是 nesT/Elasticsearch.net 中的错误吗?我的语法不正确吗?有没有其他方法可以做我想做的事情?

解决方法

这显然是我使用的 NEST 版本中的一个问题。更新 nuget 包解决了它。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...