#elasticsearch
#elasticsearch
Вопрос:
Я запускаю запрос elasticsearch для возврата объектов с определенными полями. Использование sourcefilter работает как оператор OR, но я бы хотел иметь только все, у которых есть поля, а не некоторые поля. Как мне это сделать?
{
"_source": {
"includes": ['user.screen_name','entities.hashtags.text']
"excludes": ['retweeted', ]
},
"query":{
"match_all":{}
}
Что я должен включить, чтобы этот запрос возвращал там, где есть user.screen_name И сущности.hashtags.text ?
Ответ №1:
Для этой цели следует использовать запрос exists .
Приведенный ниже запрос должен работать в вашем случае:
GET sample/_search
{
"query": {
"bool": {
"must": [
{
"exists": {
"field": "user.screen_name"
}
},
{
"exists": {
"field": "entities.hashtags.text"
}
}
]
}
}
}