Что elasti c выполняет поиск в магазине и как? - PullRequest
0 голосов
/ 02 августа 2020

Elasti c search - это поисковая система, согласно Википедии. Это означает, что это не база данных, и не хранятся данные, которые она индексирует (но, предположительно, сохраняет свои индексы)

Есть предположительно 2 способа получить данные в Es. Доставка журнала или напрямую через API.

Допустим, мое приложение хочет записать старомодную запись в файл журнала:

Logger.error (now () + «что-то плохое произошло в модуле» + модуль + «;» + Message »

Это может либо записать в файл, либо поместить данные непосредственно в es, используя rest api.

Если это было сделано через rest api, сохраняет ли es все сообщение журнала, и в этом случае вам не нужно тратить диск на запись журналов в файлы для соответствия c. Или он только индексирует данные, поэтому вам нужно сохранить отдельную копию? Если вы удалите или переместите исходный журнал файл, как es узнает, и действительно ли то, что хранится в Deos, по-прежнему полезно? хранить весь файл журнала, а также любые индексы?

Как es анализирует или индексирует произвольные файлы журнала? Считает ли он строку журнала как одну строку или требует, чтобы журналы имели специфику c формат, такой как cvs или Jason?

Кто-нибудь знает ресурс с этой ключевой информацией?

1 Ответ

1 голос
/ 02 августа 2020

Elasticsearch сохраняет данные, которые вы индексируете.

Когда вы загружаете данные в elasticsearch, эти данные сохраняются в одном или нескольких индексах, а затем их можно искать. Чтобы иметь возможность выполнять поиск с помощью elasticsearch, вам необходимо хранить данные в elasticsearch, он не может, например, выполнять поиск по внешним файлам.

В вашем примере, если у вас есть приложение, отправляющее журналы, do elasticsearch, оно будет хранить все сообщение, которое вы отправляете, и после того, как оно находится в elasticsearch, вам больше не нужен исходный журнал.

Если вам нужно проанализировать ваши документы в разных полях, вы можете сделать это перед отправкой журнала в elasticsearch как json, используйте logsta sh для этого или используйте конвейер загрузки в elasticsearch.

Хорошей отправной точкой, чтобы узнать больше о том, как это работает, является официальная документация

...