Lucene или Apache Lucene - это Java-библиотека с открытым исходным кодом, используемая в качестве поисковой системы.
OpenSearch, построеный на базе Lucene, преобразует Lucene в распределенную систему/поисковый механизм для горизонтального масштабирования. OpenSearch также предоставляет другие возможности, такие как пул потоков, очереди, API мониторинга узлов/кластеров, API мониторинга данных, управление кластерами и т.д. Одним словом, OpenSearch расширяет Lucene и предоставляет дополнительные возможности.
OpenSearch размещает данные на узлах данных. Каждый узел данных содержит один или несколько индексов, каждый индекс разделен на шарды, в каждом из которых хранится часть данных индекса. Каждый шард, созданный в OpenSearch, представляет собой отдельный экземпляр Lucene или процесс.
Примечания и полезные сведения
- Когда в OpenSearch создается индекс, он делится на один или несколько первичных шардов для масштабирования данных и разделения их на несколько узлов/экземпляров.
- Поскольку каждый шард представляет собой отдельный экземпляр Lucene, создание слишком большого числа шардов приведет к потреблению ненужных ресурсов и снижению производительности.
- Для того чтобы определить количество первичных шардов для индекса, необходимо правильно спланировать его, учитывая размер индекса, максимальный рост и количество узлов данных.
- В предыдущих версиях OpenSearch по умолчанию создавалось пять шардов для каждого индекса, в новых версиях по умолчанию теперь используется один шард на индекс.