Изменения документа Elastic Search

Редактировал(а) Alexandr Fokin 2024/01/08 19:48

<
От версии < 4.8 >
отредактировано Alexandr Fokin
на 2022/08/11 16:24
К версии < 5.2 >
отредактировано Alexandr Fokin
на 2022/08/13 16:53
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,13 +1,56 @@
1 -**ElasticSearch**
2 -NoSql база данных для хранения документов. Одно из основных функций - возможность выполнения полнотестого поиска по документа.
3 -В качестве интерфейса взаимодействия выступает RestApi.
1 +==== ElasticSearch ====
4 4  
5 -Написан на [[Java>>Разработка.JVM.Java.WebHome]], на основе библиотеки [[Lucene>>Разработка.NET.Библиотеки.Внешняя обработка.Lucene.WebHome]].
3 +NoSql база данных для хранения документов. Одно из основных функций - возможность выполнения полнотекстового поиска по документа.
4 +В качестве интерфейса взаимодействия выступает HTTP Api.
5 +Написан на [[Java>>Разработка.JVM.Java.WebHome]], на основе библиотеки [[Apache Lucene>>Разработка.JVM.Java.Библиотеки.Apache Lucene.WebHome]].
6 6  
7 7  ----
8 8  
9 сылки:
9 +==== Структурные элементы ====
10 10  
11 +|(% style="width:364px" %) |(% style="width:1158px" %)
12 +|(% style="width:364px" %)Индекс ~| Index|(% style="width:1158px" %)Содержит группу Типов.
13 +Упрощенно аналог БД.
14 +|(% style="width:364px" %)Тип ~| Type|(% style="width:1158px" %)(((
15 +Содержит группу Документов и метаданные Маппинг.
16 +Упрощенно - аналог таблицы.
17 +
18 +Предполагает группировку документов с единой структурой.
19 +)))
20 +|(% style="width:364px" %)Маппинг ~| Mapping|(% style="width:1158px" %)(((
21 +Содержащий информацию о структуре всех документов внутри Типа.
22 +Для каждого поля в документах типа определяется его тип данных, которые влияет на то, как поле будет использоваться с точки зрения поиска. При этом пытаясь автоматически определить тип данных.
23 +
24 +В случае добавления нового документа с полем, сведений о котором нет в маппинге, метаданные о поле автоматически заносяться в маппинг.
25 +Добавление документа, содержащего поле с типом данных, отличным от метаданных в маппинге, приведет к ошибке.
26 +)))
27 +|(% style="width:364px" %)Документ|(% style="width:1158px" %)(((
28 +Принадлежит 1 группе.
29 +Уникально определяется совокупностью идентификаторов <IndexName>.<TypeName>.<DocumentId>.
30 +Имеет номер версии, которая автоматически инкрементируется при обновлении документа.
31 +DocumentId может генерироваться как клиентом, так и сервером.
32 +)))
33 +|(% style="width:364px" %) |(% style="width:1158px" %)
34 +|(% style="width:364px" %)Операция добавления (индексирования) документа.|(% style="width:1158px" %)При добавлении для документа определяется шард для размещения. Сначала документ отправляется на Master экземпляр шарда, а от него также распространяется на Slave копии шарда.
35 +|(% style="width:364px" %)Операция поиска.|(% style="width:1158px" %)Может осуществляться как в рамках одного конкретного Типа, так и на уровне Типов, расположенных в различных Индексах.
36 +|(% style="width:364px" %) |(% style="width:1158px" %)
37 +|(% style="width:364px" %)Механизм масштабирования и отказоустойчивости.|(% style="width:1158px" %)(((
38 +Несколько узлов объединяются в кластер. Клиентские приложения могут взаимодействовать с любой из нод кластера.
39 +Поддерживается шардинг - разбиение данных на блоки и распределение их по узлам кластера.
40 +Для каждого шарда можно назначать кол-во реплик, копий. При этом среди репликаций один шард будем master, а остальные slave.
41 +
42 +Рекомендуется наличие быстрого и надежного сетевого соединения между узлами кластера. (split brain дописать позже).
43 +
44 +Параметры кол-ва шардов и реплик определяются на уровне Индекса. Кол-во реплик можно менять в рантайм, а кол-во шардов нельзя.
45 +1 экземпляр шарда ElasticSearch соответствует 1 экземпляру индекса Apache Lucene.
46 +)))
47 +|(% style="width:364px" %)Индекса Apache Lucene|(% style="width:1158px" %)Содержит оригинальные документы и (Term dictionary maps).
48 +Term dictionary maps - содержит информацию о всех уникальных словах-терминах, номерах документов, в которых они расположены, а также кол-во повторений для каждого документа.
49 +
50 +----
51 +
52 +==== Ссылки: ====
53 +
11 11  The heart of the free and open Elastic Stack
12 12  https://www.elastic.co/elasticsearch/
13 13