【发布时间】:2022-04-19 15:39:31
【问题描述】:
我的文档架构如下。
推特
Id
Title
Body
Privacy -> Values can only be ["Me", "Anyone", "Team"]
UserId
现在我只想检索标题包含“鸡肉三明治”且具有“任何人”或“团队”隐私的所有推文。但是,在同一个查询中,我只希望在该推文的 UserId 为“1456”时返回隐私为“我”的推文。
{
"query": {
"bool": {
"must": [
{
"bool": {
"must": [
{
"match": {
"title": {
"query": "chicken_sandwhich"
}
}
}
]
}
}
],
"should": [
{
"bool": {
"should": [
{
"term": {
"privacy": {
"value": "Anyone"
}
}
},
{
"term": {
"privacy": {
"value": "Team"
}
}
}
]
}
},
{
"bool": {
"must": [
{
"term": {
"privacy": {
"value": "Me"
}
}
},
{
"term": {
"userId.keyword": {
"value": "my_user_id"
}
}
}
]
}
}
]
}
}
}
如何构建该查询?我一直在苦苦挣扎,只需要关于我正在寻找的查询类型的帮助。
【问题讨论】:
标签: elasticsearch