Операции с индексами в неймспейсах

Для перехода в раздел для работы с индексами выберите неймспейс в Меню слева и кликните по вкладке Indexes в Меню раздела в верхней части страницы.

Раздел Indexes

Раздел Indexes

В разделе в виде таблицы отображается список индексов (индексных полей) выбранного неймспейса. Таблица состоит из следующих столбцов (данные берутся из поля indexes служебного неймспейса #namespaces):

  • Index — название индекса (поле name в неймспейсе #namespaces);
  • Field JSON Patch — имя JSON-поля (или полей), по которому строится индекс (поле json_paths в неймспейсе #namespaces);
  • Field Type — тип данных поля (поле field_type в неймспейсе #namespaces);
  • Index Type — тип индекса (index_type index_type в неймспейсе #namespaces) (подробнее о типах индексов — в разделе «Типы индексов в Reindexer»);
  • Options — параметры индексного поля (подробнее — в разделе «Параметры индексных полей»).

Добавление индекса

Чтобы добавить новый индекс в неймспейс, нажмите кнопку Add index в правой верхней части экрана. Откроется диалоговое окно с формой:

Форма для добавления индекса

Форма для добавления индекса

Слева от каждого параметра находится иконка с вопросительным знаком, при наведении на которую отображается всплывающее окно с подсказкой.

Введите параметры индекса (данные будут храниться в поле indexes служебного неймспейса #namespaces):

  • Name — имя индексного поля, используемое в запросах.
  • Field type — тип данных поля: int, int64, double, string, bool, composite или point.
  • Index type — тип индекса (подробнее — в разделе «Типы индексов в Reindexer»).
  • Rtree type — алгоритм построения индекса (добавляется только для rtree индексов). Подробнее — в разделе «Геометрические типы данных».
  • Options — параметры индексного поля (подробнее — в разделе «Параметры индексных полей»).
  • Collate mode — режим сопоставления строк для сравнения и сортировки данных. Возможные значения:
    • none — не задан;
    • ascii — создает нечувствительный к регистру строковый индекс в кодировке UTF-8;
    • utf8 — создает нечувствительный к регистру строковый индекс в ASCII-кодировке;
    • numeric — устанавливает режим сравнения строк как чисел (порядок при обычном сравнении строк: 1, 10, 2; порядок при сравнении строк как чисел: 1, 2, 10);
    • custom — пользовательский порядок сортировки. Сначала сортировка выполняется в соответствии с заданным правилом, затем — в обычном порядке.
  • Json paths — имя JSON-поля (или полей), по которому строится индекс (как правило, совпадает с именем индекса; может содержать несколько полей, перечисленных через запятую; может содержать вложенные поля).

При добавлении индекса с Index type = text в диалоговом окне с формой также появляется вкладка Full text config для настройки параметров полнотекстового поиска:

Настройки полнотекстового поиска

Настройки полнотекстового поиска

Если нужно настроить параметры полнотекстового поиска, подробные описания полей смотрите в разделе «Управление параметрами индексов».

При добавлении индекса: hnsw, ivf, bf будут доступны конфиги float_vector для настройки параметров векторных индексов:

Настройки hnsw config

Настройки hnsw config

Настройки ivf config

Настройки ivf config

Настройки brute force config

Настройки brute force config

Редактирование индекса

Чтобы отредактировать индекс, наведите курсор на соответствующую ему строку и кликните по появившейся в правой части таблицы иконке для вызова меню с кнопками. Нажмите кнопку .

Откроется форма редактирования записи с полями, описанными выше.

Внесите необходимые изменения и нажмите кнопку Update для их сохранения или Cancel — для отмены.

Удаление индекса

Чтобы удалить индекс, наведите курсор на соответствующую ему строку и кликните по появившейся в правой части таблицы иконке для вызова меню с кнопками. Нажмите кнопку .

Появится окно подтверждения удаления индекса.

Настройки полнотекстового поиска

Настройки полнотекстового поиска

Для подтверждения удаления индекса нажмите кнопку Confirm. Для отмены удаления нажмите Cancel.