Как объект JSON маркируется и индексируется в Elasticsearch

#elasticsearch #elastic-stack

#elasticsearch #эластичный стек

Вопрос:

Недавно я начал работать над Elasticsearch и не мог понять, как объект JSON маркируется и сохраняется в инвертированном индексе.

Рассмотрим, был ли вставлен JSON ниже.

 {
    "city": "Seattle",
    "state": "WA",
    "location": {
        "lat": "47.6062095",
        "lon": "-122.3320708"
    }
}
  

Я могу выполнить поиск по URI следующим образом

 GET /my_index/_search?q=city:seattle
  

Этот поиск вернул бы вышеупомянутый документ, но как Elasticsearch может выполнять поиск «Сиэтл» только в поле «город». Если он маркирует полный JSON, все ключи и значения будут разделены, тогда как будет поддерживаться сопоставление между токеном ключа и токеном значения.

Ответ №1:

Потому что индексированные токены указывают на исходный документ, который также сохраняется. Взгляните на инвертированный индекс в документах elastic.