Я хочу получить все сущности из вложенных данных JSON, где «ai_id» имеет значение = 0 - PullRequest
1 голос
/ 10 июля 2019

у меня есть эти данные JSON ниже, и я хочу написать запрос в Elasticsearch, запрос (Дайте мне все сущности, где значение "ai_id" равно 0).

Данные JSON:

      {
        "_index": "try1",
        "_type": "_doc",
        "_id": "2",
        "_score": 1,
        "_source": {
          "target": {
            "br_id": 0,
            "an_id": 0,
            "ai_id": 0,
            "explanation": [
              "element 1",
              "element 2"
            ]
          },
          "process": {
            "an_id": 1311,
            "pa_name": "micha"
          },
          "text": "hello world"
        }
      },
      {
        "_index": "try1",
        "_type": "_doc",
        "_id": "1",
        "_score": 1,
        "_source": {
          "target": {
            "br_id": 0,
            "an_id": 1,
            "ai_id": 1,
            "explanation": [
              "element 3",
              "element 4"
            ]
          },
          "process": {
            "an_id": 1311,
            "pa_name": "luca"
          },
          "text": "the all People are good"
        }
      }
    ]
  }
}

Я пробовал это, но, кажется, не работает, пожалуйста, любая помощь, я буду благодарен.

GET try1\_search   
{
  "query":{
        { "match_all": { "ai_id":   0}}
  }
}

и это тоже не сработало,

GET try1/_search
{
    "query": {
        "nested" : {
            "query" : {
                    "must" : [
                    { "match" : {"ai_id" : 0} }
                    ]
            }
        }
    }
}

Пожалуйста, предложение. ТНХ

1 Ответ

0 голосов
/ 10 июля 2019

Вам нужно запросить вложенный объект target следующим образом:

GET /try1/_search
{
    "query": {
        "nested" : {
            "path" : "target",
            "query" : {
                "bool" : {
                    "must" : [
                    { "match" : {"target.ai_id" : 0} }
                    ]
                }
            }
        }
    }
}

Ссылка https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-nested-query.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...