Исходный код вики ElasticSearch

Версия 4.22 от Alexandr Fokin на 2022/08/12 16:51

Скрыть последних авторов
Alexandr Fokin 4.9 1 ==== ElasticSearch ====
Alexandr Fokin 2.1 2
Alexandr Fokin 4.9 3 NoSql база данных для хранения документов. Одно из основных функций - возможность выполнения полнотекстового поиска по документа.
4 В качестве интерфейса взаимодействия выступает HTTP Api.
Alexandr Fokin 4.8 5 Написан на [[Java>>Разработка.JVM.Java.WebHome]], на основе библиотеки [[Lucene>>Разработка.NET.Библиотеки.Внешняя обработка.Lucene.WebHome]].
6
Alexandr Fokin 4.5 7 ----
Alexandr Fokin 2.1 8
Alexandr Fokin 4.10 9 ==== Структурные элементы ====
Alexandr Fokin 2.1 10
Alexandr Fokin 4.9 11 |(% style="width:364px" %) |(% style="width:1158px" %)
12 |(% style="width:364px" %)Индекс ~| Index|(% style="width:1158px" %)Содержит группу Типов.
13 Упрощенно аналог БД.
Alexandr Fokin 4.13 14 |(% style="width:364px" %)Тип ~| Type|(% style="width:1158px" %)(((
15 Содержит группу Документов и метаданные Маппинг.
Alexandr Fokin 4.9 16 Упрощенно - аналог таблицы.
Alexandr Fokin 4.13 17
18 Предполагает группировку документов с единой структурой.
19 )))
20 |(% style="width:364px" %)Маппинг ~| Mapping|(% style="width:1158px" %)(((
21 Содержащий информацию о структуре всех документов внутри Типа.
Alexandr Fokin 4.15 22 Для каждого поля в документах типа определяется его тип данных, которые влияет на то, как поле будет использоваться с точки зрения поиска. При этом пытаясь автоматически определить тип данных.
Alexandr Fokin 4.13 23
24 В случае добавления нового документа с полем, сведений о котором нет в маппинге, метаданные о поле автоматически заносяться в маппинг.
Alexandr Fokin 4.18 25 Добавление документа, содержащего поле с типом данных, отличным от метаданных в маппинге, приведет к ошибке.
Alexandr Fokin 4.13 26 )))
Alexandr Fokin 4.11 27 |(% style="width:364px" %)Документ|(% style="width:1158px" %)(((
28 Принадлежит 1 группе.
Alexandr Fokin 4.12 29 Уникально определяется совокупностью идентификаторов <IndexName>.<TypeName>.<DocumentId>.
Alexandr Fokin 4.11 30 )))
31 |(% style="width:364px" %) |(% style="width:1158px" %)
Alexandr Fokin 4.17 32 |(% style="width:364px" %)Операция добавления документа.|(% style="width:1158px" %)
Alexandr Fokin 4.20 33 |(% style="width:364px" %)Операция поиска.|(% style="width:1158px" %)Может осуществляться как в рамках одного конкретного типа, так и на уровне типов, расположенных в различных индексах.
34 |(% style="width:364px" %)Механизм масштабирования и отказоустойчивости.|(% style="width:1158px" %)(((
35 Несколько узлов объединяются в кластер.
36 Поддерживается шардинг - разбиение данных на блоки и распределение их по узлам кластера.
37 Для каждого шарда можно назначать кол-во реплик, копий. При этом среди репликаций один шард будем master, а остальные slave.
Alexandr Fokin 4.21 38
Alexandr Fokin 4.22 39 Рекомендуется наличие быстрого и надежного сетевого соединения между узлами кластера. (split brain дописать позже).
Alexandr Fokin 4.20 40 )))
Alexandr Fokin 4.9 41
42 ----
43
44 ==== Ссылки: ====
45
Alexandr Fokin 2.1 46 The heart of the free and open Elastic Stack
47 https://www.elastic.co/elasticsearch/
48
49 Elasticsearch для .NET - разработчиков
50 https://www.youtube.com/watch?v=iQ-Cmn6hgJg
51
Alexandr Fokin 3.1 52
53 Основы Elasticsearch
54 https://habr.com/ru/post/280488/
Alexandr Fokin 4.7 55
56
57 miollek/Free-Elasticsearch-Books
58 https://github.com/miollek/Free-Elasticsearch-Books
59