【发布时间】:2019-09-21 19:01:45
【问题描述】:
我正在使用 Elasticsearch 6.6,尝试根据在某个日期范围内传递给查询 (Bool) 的多个值 (email_address) 提取多个结果/记录。例如:我想根据他们的电子邮件地址(annie@test.com、charles@test.com、heman@test.com)和时间段(即 project_date(2019-01-01))提取有关少数员工的信息。
我确实使用了 should 表达式,但不幸的是它根据日期范围从 elasticsearch 中提取所有记录,即它甚至从 project_date 2019-01-01 中提取其他员工信息。
{
"query": {
"bool": {
"should": [
{ "match": { "email_address": "annie@test.com" }},
{ "match": { "email_address": "chalavadi@test.com" }}
],
"filter": [
{ "range": { "project_date": { "gte": "2019-08-01" }}}
]
}
}
}
我也尝试过必须表达,但没有得到任何结果。您能帮我找到使用日期范围内的电子邮件地址的员工吗?
提前致谢。
【问题讨论】:
-
你能给我一个样本数据吗?那么我可以帮你。还有文档结构。
标签: elasticsearch