【发布时间】:2017-03-27 05:15:11
【问题描述】:
我正在构建对 Elastic 5 的查询(在 .net 中使用嵌套),我正在尝试实现此结果:
必须有 value1 和 value 2
应该有 value3 或 value 4
并且应该有 value5 或 value6
这是我的查询:
{
"query": {
"bool": {
"must": [
{
"match": {
"code": {
"query": "value1"
}
}
},
{
"match": {
"code": {
"query": "value2"
}
}
}
],
"should": [
{
"match": {
"code": {
"query": "value3"
}
}
},
{
"match": {
"code": {
"query": "value4"
}
}
}
],
"should": [
{
"match": {
"code": {
"query": "value5"
}
}
},
{
"match": {
"code": {
"query": "value6"
}
}
}
],
"minimum_should_match": 1
}
}
}
我没有得到想要的答案(例如,我没有任何值 5 和值 6,但仍然得到结果)
谢谢
【问题讨论】:
-
您的布尔查询中只能有一个
should子句。在我看来,你的一个应该条款被驳回了。为什么不将所有should匹配项放在一个should子句中? -
因为我需要 value3 或 value4 以及 value5 或 value6
标签: elasticsearch nest elasticsearch-net elasticsearch-5