хорошо ли иметь многоуровневые поля в документеasticsearch? - PullRequest
0 голосов
/ 02 мая 2019

хорошо ли иметь многоуровневые поля в документеasticsearch?

если да, то как искать документы с вложенными полями

Я не видел документации по документам эластичного поиска https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

Многоуровневый Я имею в виду вложенные поля

{
 "account_number": 0,
    "balance": 16623,
    "firstname": "Bradshaw",
    "lastname": "Mckenzie",
    "age": 29,
    "gender": "F",
    "address": {
        "244 Columbus Place",
        "employer": "Euron",

        "email": {
            "personal":"bradshawmckenzie@euron.com",
            "work": "bradshawmckenzie@euron.com"
        }
        "city": "Hobucken",
        "state": "CO"
    }
}```

In about document address and email inner objects

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

Есть несколько способов иметь «несколько уровней» в Elasticsearch, есть плюсы и минусы для каждого подхода.Следующая статья объясняет их хорошо: https://www.elastic.co/blog/managing-relations-inside-elasticsearch

0 голосов
/ 02 мая 2019

Да, вполне нормально иметь несколько уровней объектов.

Однако ваш текущий документ JSON недействителен.Я предполагаю, что это должно быть больше так.

{
    "account_number": 0,
    "balance": 16623,
    "firstname": "Bradshaw",
    "lastname": "Mckenzie",
    "age": 29,
    "gender": "F",
    "address": "244 Columbus Place",
    "employer": "Euron",
    "email": {
        "personal": "bradshawmckenzie@euron.com",
        "work": "bradshawmckenzie@euron.com"
    },
    "city": "Hobucken",
    "state": "CO"
}

Чтобы получить доступ к внутренним объектам, вы можете использовать точечную запись.Например:

GET my-index/_search
{
  "query": {
    "match": {
      "email.personal": "bradshawmckenzie@euron.com"
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...