2个字段名称之间的NEST Elasticsearch查询值

NEST Elasticsearch query value between 2 field names

我想将以下 sql 查询转换为 elasticsearch NEST 查询:

select * from Table1 where 20 between minAge and maxAge

到目前为止,这是我的嵌套查询的样子(“20”是来自客户端的值):

var result5 = client.Search<Person>(b => b
        .Filter(ff => ff
                .Range(n => n
                    .OnField(f => f.minAge)
                    .Greater(20)
                )
            )
        .Filter(ff => ff
                .Range(n => n
                    .OnField(f => f.maxAge)
                    .Lower(???)  // how do I specify max value as fieldname?
                )
            );

这个sql表示minAge<20,maxAge>20,所以嵌套查询是:

    var result5 = client.Search<Person>(b => b
    .Filter(ff => ff
            .Range(n => n
                .OnField(f => f.minAge)
                .Lower(20)
            ) && ff
            .Range(n => n
                .OnField(f => f.maxAge)
                .Greater(20)
            )
        )
    ;
   .Filter(ff => ff
            .Range(n => n
                .OnField(f => f.minAge)
                .Greater(x)
            ) && ff
            .Range(n => n
                .OnField(f => f.maxAge)
                .Lower(x)
            )
        )

通过这种方式,x -> 介于 minAge 和 maxAge 之间。所以 x 必须同时大于 minAge 和小于 maxAge。希望对您有所帮助!