⚠️ Эта страница автоматически переведена, и перевод может быть несовершенным.

About new Real-Time mode

Привет!

В версии 3.3.0 мы представили новый режим демона. Мы называем его режимом реального времени (RT mode). Он позволяет управлять вашими индексами (таблицами) с помощью CREATE TABLE и DROP TABLE. Обычный режим, предполагающий определение схем индексов в конфигурационном файле, также остаётся поддерживаться.

Ранее вы могли вставлять и удалять данные из индекса реального времени, но не было возможности добавлять и удалять индексы через SQL/HTTP.

Новый режим включается указанием data_dir в конфигурационном файле. Обратите внимание, что конфигурационный файл используется только для настроек демона, в этом режиме не допускаются секции source или index.
ALTER TABLE теперь можно использовать для изменения настроек индекса, например

ALTER TABLE products ignore_chars='.'

Однако эти новые настройки влияют только на только что вставленные документы; они не затрагивают существующие документы в индексе.

data_dir


data_dir указывает каталог, в котором будут храниться все новые индексы. Каждый индекс сохраняется в отдельной папке внутри data_dir. Вы не должны вручную добавлять индексы в эту папку, потому что индексы, созданные демоном в новом RT‑режиме, внутренне отличаются от индексов, созданных в обычном режиме. Используйте IMPORT TABLE для импорта старых индексов. Он копирует файлы индекса в новую папку внутри data_dir и выполняет необходимые изменения формата индекса.
Смотрите ниже для более подробной информации о различиях индексов.
RT mode работает только с RT или PQ индексами. Вы не можете создавать или импортировать обычные индексы в демон, работающий в этом режиме. Одно из возможных решений — использовать ATTACH для добавления обычного индекса к RT‑индексу (в демоне, работающем в старом режиме), а затем использовать IMPORT TABLE для импорта этого RT‑индекса в демон, работающий в RT‑режиме.

How to backup


Поскольку вам не следует вручную изменять содержимое data_dir, единственный безопасный способ (на данный момент) создать резервную копию или переместить data_dir в другое место — остановить демон, скопировать/переместить data_dir и перезапустить демон.

Replication


Поскольку replication создаёт/удаляет индексы на узлах, он работает только с демоном, работающим в новом RT‑режиме.

External files


Только абсолютные пути к внешним файлам (словоформы, стоп‑слова, исключения) разрешены в CREATE TABLE и ALTER TABLE. Это делается для избежания путаницы, поскольку относительные пути относятся к папке, из которой был запущен демон, и пользователь может этого не знать.

Implementation details


data_dir содержит индексы и файл .json, в котором перечислены эти индексы и некоторые их свойства. Этот файл изменяется демоном, вам не следует изменять его вручную.

Все пути внутри конфигурации .json являются относительными. Идея в том, что вы можете скопировать/переместить data_dir на новый узел/место, изменить data_dir в конфигурационном файле и запустить демон из нового места без каких-либо дополнительных изменений.

Также существуют различия в формате индексов (между индексами, созданными в RT‑режиме и обычном режиме), которые служат той же цели. Индексы, созданные в старом режиме, хранят полные пути к внешним файлам. Индексы, созданные в RT‑режиме, хранят только имена файлов, путь генерируется динамически на основе имени индекса и значения data_dir в конфигурации.

Существует заметная разница в том, как демон работает с внешними файлами (словоформы, файлы исключений или стоп‑слов) при работе в RT‑режиме. До введения RT‑режима индексы либо встраивали внешние файлы в заголовок индекса, либо использовали их из места их хранения (в зависимости от настроек). Сейчас, когда Manticore работает в RT‑режиме, встраивание отключено. Например, при выполнении

CREATE TABLE (title text) wordforms ='/path/to/wordforms.txt'

словоформы, стоп‑слова и исключения копируются в папку индекса внутри data_dir.
IMPORT TABLE по сути делает то же самое. Он копирует внешние файлы в папку индекса внутри data_dir. Это может привести к дублированию файлов, если одни и те же внешние файлы используются при создании нескольких индексов. Однако это не обязательно означает дополнительное использование ОЗУ демоном. Например, searchd загружает только один экземпляр файла словоформ, если существует несколько индексов, использующих копии одного и того же оригинального файла словоформ.

Если у вас есть вопросы о новом режиме, не стесняйтесь задавать их в:

Или изучите его самостоятельно в нашем интерактивном курсе « Manticoresearch - RT mode - index administration ».

Установить Manticore Search

Установить Manticore Search