Эластичный поиск, как проиндексировать вложенный список - PullRequest
0 голосов
/ 07 февраля 2019

Как создать индекс для вложенной структуры данных со списком?Там будет список otherUserID, и я не знаю, как их индексировать с помощьюasticsearch 6.5.

UserID -> OtherUserID-> name:"text" , count : "long"

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете использовать вложенный тип данных для создания такого поля и индексации списка объектов.См. Приведенный ниже пример и измените его в соответствии со своими потребностями:

Отображение:

PUT testindex
{
  "mappings": {
    "_doc": {
      "properties": {
        "nestedField": {
          "type": "nested",
          "properties": {
            "field1": {
              "type": "text",
              "fields": {
                "keywords": {
                  "type": "keyword"
                }
              }
            },
            "field2": {
              "type": "integer"
            }
          }
        }
      }
    }
  }
}

Добавление документов:

Для одного элемента в списке:

PUT testindex/_doc/1
{
  "nestedField": [
    {
      "field1": "Some text",
      "field2": 10
    }
  ]
}

Для нескольких элементов в списке:

PUT testindex/_doc/2
{
  "nestedField": [
    {
      "field1": "Some other text",
      "field2": 11
    },
    {
      "field1": "random value",
      "field2": 15
    }
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...