NEST 2.3.3 中 TermsExecution.And 的替代品(从 NEST 1.6.2 升级)
What replaces TermsExecution.And in NEST 2.3.3 (upgrading from NEST 1.6.2)
我们正在升级 ElasticSearch 和 NEST,从 1.6.2 -> 2.3.3。
我们在 2.3.3 中 TermsExecution.And
的做法是什么?
对于未知数量的需要匹配的术语,如何轻松完成此操作?例如在你能够传递一个数组之前。
terms
查询上的 TermsExecution.And
应转换为带有 must
(或 filter
的连词的 bool
查询,具体取决于 query/filter 上下文)查询,每个查询都是对单个值的 term
查询。
例如,
client.Search<dynamic>(s => s
.Query(q => +q
.Term("field", "value1")
&& +q
.Term("field", "value2")
)
);
产量
{
"query": {
"bool": {
"filter": [
{
"term": {
"field": {
"value": "value1"
}
}
},
{
"term": {
"field": {
"value": "value2"
}
}
}
]
}
}
}
我们正在升级 ElasticSearch 和 NEST,从 1.6.2 -> 2.3.3。
我们在 2.3.3 中 TermsExecution.And
的做法是什么?
对于未知数量的需要匹配的术语,如何轻松完成此操作?例如在你能够传递一个数组之前。
terms
查询上的 TermsExecution.And
应转换为带有 must
(或 filter
的连词的 bool
查询,具体取决于 query/filter 上下文)查询,每个查询都是对单个值的 term
查询。
例如,
client.Search<dynamic>(s => s
.Query(q => +q
.Term("field", "value1")
&& +q
.Term("field", "value2")
)
);
产量
{
"query": {
"bool": {
"filter": [
{
"term": {
"field": {
"value": "value1"
}
}
},
{
"term": {
"field": {
"value": "value2"
}
}
}
]
}
}
}