Elasticsearch DSL 中的 IF 条件
IF condition in Elasticsearch DSL
我是 Elasticsearch 的新手,我有一个带有以下查询的 ELS 索引“student”。我只需要在 is_rep=True 时执行 student.name .
注意: is_rep 字段将不会明确可用
"query": {
"bool": {
"must": { "term": { "subject": "maths" }} ,
"must": { "term": { "student.name": "xyz"}}
}
}
谁能指导我实现这个
我会这样做:
{
"query": {
"bool": {
"filter": [
{
"term": {
"subject": "maths"
}
},
{
"bool": {
"minimum_should_match": 1,
"should": [
{
"term": {
"is_rep": false
}
},
{
"bool": {
"filter": [
{
"term": {
"student.name": "xyz"
}
},
{
"term": {
"is_rep": true
}
}
]
}
}
]
}
}
]
}
}
}
我是 Elasticsearch 的新手,我有一个带有以下查询的 ELS 索引“student”。我只需要在 is_rep=True 时执行 student.name .
注意: is_rep 字段将不会明确可用
"query": {
"bool": {
"must": { "term": { "subject": "maths" }} ,
"must": { "term": { "student.name": "xyz"}}
}
}
谁能指导我实现这个
我会这样做:
{
"query": {
"bool": {
"filter": [
{
"term": {
"subject": "maths"
}
},
{
"bool": {
"minimum_should_match": 1,
"should": [
{
"term": {
"is_rep": false
}
},
{
"bool": {
"filter": [
{
"term": {
"student.name": "xyz"
}
},
{
"term": {
"is_rep": true
}
}
]
}
}
]
}
}
]
}
}
}