我想在 Elasticsearch 中编写条件查询。这是我完整的查询,但无法正常工作。
喜欢:
{"query":{"bool":{"must":[{"nested":{"path":"ticket_group","score_mode":"max","inner_hits":{"from":0,"size":10000},"query":{"bool":{"must":[{"range":{"ticket_group.available":{"gte":1}}},{"bool":{"minimum_should_match":1,"should":[{"bool":{"must":[{"match":{"ticket_group.customer_id":1}},{"match":{"ticket_group.ticket_type":1}},{"match":{"ticket_group.individual_purchase":1}}]}},{"bool":{"must_not":[{"match":{"ticket_group.ticket_type":1}}]}}]}},{"terms":{"ticket_group.ticket_type":[1,3,4]}}]}}}}]}},"size":10,"from":0}
我只想在ticket_type = 1的情况下执行搜索personal_purchase = 1。
如何编写此查询?
最佳答案
然后,您可以执行以下操作:
{
"query": {
"bool": {
"minimum_should_match": 1,
"should": [
{
"bool": {
"must": [
{
"match": {
"ticket_group.ticket_type": 1
}
},
{
"match": {
"ticket_group.individual_purchase": 1
}
}
]
}
},
{
"bool": {
"must_not": [
{
"match": {
"ticket_group.ticket_type": 1
}
}
]
}
}
]
}
}
}
上面的查询翻译为:
ticket_type = 1
和individual_purchase = 1
ticket_type != 1
关于node.js - 如何在Elastic Search中编写条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46973969/