我对Elasticsearch有一个简单的JSON查询,如下所示:
"query": {
"bool": {
"must": { "match": { "id": "1" }} ,
"must": { "match": { "tags.name": "a1"}}
}
}
仅当值(本例中为‘a1’)不为空时,我如何才能执行第二个‘必须’标准?
发布于 2015-04-26 12:41:39
您可以使用以下命令来实现它:
{
"query": {
"bool": {
"must": [
{
"match": {
"id": "1"
}
},
{
"bool": {
"should": [
{
"missing": {
"field": "tags.name"
}
},
{
"match": {
"tags.name": "a1"
}
}
]
}
}
]
}
}
}
发布于 2018-07-23 05:03:43
我不认为"missing“可以在最新版本的elasticsearch中使用。但是我们可以使用条件子句来代替。https://www.elastic.co/guide/en/elasticsearch/reference/6.3/search-template.html#_conditional_clauses
https://stackoverflow.com/questions/29867301
复制相似问题