gpt4 book ai didi

elasticsearch - Elasticsearch C#NEST与其他字段值不匹配

转载 作者:行者123 更新时间:2023-12-02 23:36:10 28 4
gpt4 key购买 nike

我正在尝试使用Elasticsearch C#NEST库构建查询。
我在SQL中有一个表,可以说它叫做Mail。我需要确保一个字段不等于查询中的另一个字段。

在SQL中:

SELECT * FROM MAILS
WHERE Field_A != Field_B

我应该如何使用C#NEST?

最佳答案

Elasticsearch不适用于这种类型的功能,最好使用更有效的方法来设置您的项目以使其能够处理此问题,但是,有些工具可以让您以这种查询形式进行尝试。

虽然基本查询语法不包含比较字段,但是脚本可以帮助您解决此问题。

这是使用NEST的脚本示例:

.Query(q=>q
.Term(w => w.MatchAll())
.Filter(s => s.Script(sf => sf.Script("doc['mails.field_A'].value == doc['mails.field_B'].value"))
)

这是使用NEST的不含的脚本 的示例:
{
"query": {
"filtered": {
"filter": {
"script": {
"script": "doc['mails.field_A'].value == doc['mails.field_B'].value"
}
}
}
}
}

如果script.disable_dynamic设置为false,这将起作用。可能会出现一些security issues

关于elasticsearch - Elasticsearch C#NEST与其他字段值不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30978908/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com