сделать упростить поиск возвращать объекты, которые имеют все поля - PullRequest
0 голосов
/ 11 апреля 2019

Я выполняю запросasticsearch для возврата объектов, имеющих определенные поля.Использование sourcefilter работает как оператор OR, но я хотел бы иметь только все, которые имеют поля, а не некоторые поля.Как мне это сделать?

{
"_source": {
        "includes": ['user.screen_name','entities.hashtags.text']            
        "excludes": ['retweeted', ]
},
"query":{
    "match_all":{}

}

Что я должен включить, чтобы этот запрос возвращал туда, где есть user.screen_name AND entity.hashtags.text?

1 Ответ

1 голос
/ 11 апреля 2019

Для этой цели следует использовать существующий запрос .

В вашем случае должен работать следующий запрос:

GET sample/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "exists": {
            "field": "user.screen_name"
          }
        }, 
        {
          "exists": {
            "field": "entities.hashtags.text"
          }  
        }
      ]
    }
  }
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...