Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Модули индексов

Хранилище

Модуль хранилища позволяет управлять тем, как данные индекса хранятся и к ним осуществляется доступ на диске.

Это настройка низкого уровня. Некоторые реализации хранилищ имеют плохую конкурентность или отключают оптимизации для использования памяти кучи. Мы рекомендуем придерживаться значений по умолчанию.

Типы хранения на файловой системе

Существуют различные реализации файловой системы или типы хранилища. По умолчанию Elasticsearch выберет лучшую реализацию на основе операционной среды.

Тип хранилища также может быть явно задан для всех индексов путём конфигурирования типа хранилища в файле config/elasticsearch.yml:

index.store.type: hybridfs

Это статическая настройка, которую можно установить для каждого индекса во время создания индекса:

resp = client.indices.create(
    index="my-index-000001",
    settings={
        "index.store.type": "hybridfs"
    },
)
print(resp)
response = client.indices.create(
  index: 'my-index-000001',
  body: {
    settings: {
      'index.store.type' => 'hybridfs'
    }
  }
)
puts response
const response = await client.indices.create({
  index: "my-index-000001",
  settings: {
    "index.store.type": "hybridfs",
  },
});
console.log(response);
PUT /my-index-000001
{
  "settings": {
    "index.store.type": "hybridfs"
  }
}

Это настройка только для экспертов и может быть удалена в будущем.

В следующих разделах перечислены все поддерживаемые типы хранилищ.

fs
Реализация файловой системы по умолчанию. Она выберет лучшую реализацию в зависимости от операционной среды, которая в настоящее время является hybridfs на всех поддерживаемых системах, но может измениться.
simplefs
устарело::[7.15,"simplefs устарел и будет удалён в 8.0. Используйте niofs или другие файловые системы вместо него. Elasticsearch 7.15 или более поздняя версия использует niofs для типа хранилища simplefs, так как он обеспечивает превосходную или эквивалентную производительность по сравнению с simplefs."]

Тип Simple FS — это прямое реализация хранения на файловой системе (сопоставление с Lucene SimpleFsDirectory) с использованием файла с произвольным доступом. Эта реализация имеет плохую производительность в многопоточном режиме (несколько потоков будут иметь узкое место) и отключает некоторые оптимизации для использования памяти кучи.

niofs
Тип NIO FS хранит индекс фрагмента на файловой системе (сопоставление с Lucene NIOFSDirectory) с использованием NIO. Он позволяет нескольким потокам одновременно читать из одного файла. Не рекомендуется в Windows из-за ошибки в реализации SUN Java и отключает некоторые оптимизации для использования памяти кучи.
mmapfs
Тип MMap FS хранит индекс фрагмента на файловой системе (сопоставление с Lucene MMapDirectory) путём отображения файла в память (mmap). Отображение памяти использует часть адресного пространства виртуальной памяти вашего процесса, равную размеру отображаемого файла. Прежде чем использовать этот класс, убедитесь, что вы выделили достаточно виртуального адресного пространства.
hybridfs
Тип hybridfs — это гибрид типов niofs и mmapfs, который выбирает лучший тип файловой системы для каждого типа файла на основе шаблона доступа к чтению. В настоящее время только файлы словаря терминов Lucene, норм и значений документов отображаются в памяти. Все остальные файлы открываются с помощью Lucene NIOFSDirectory. Аналогично типу mmapfs, убедитесь, что вы выделили достаточно виртуального адресного пространства.

Вы можете ограничить использование типа хранилища mmapfs и связанного типа hybridfs с помощью настройки node.store.allow_mmap. Это логическая настройка, указывающая, разрешено ли отображение в памяти. По умолчанию оно разрешено. Эта настройка полезна, например, если вы работаете в среде, где вы не можете контролировать возможность создания большого количества отображений памяти, поэтому вам нужно отключить возможность использования отображения в памяти.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/index-modules-store.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API