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

Manticore 3.4.0: online schema change, new PHP client and docker image

Мы рады объявить о выпуске Manticore Search 3.4.0. Скачать можно здесь , образ Docker доступен на Docker Hub .

Что нового


Управляйте вашими индексами онлайн без необходимости редактировать конфигурацию

Ранее в версии 3.3.0 мы упоминали, что CREATE TABLE и DROP TABLE находятся в альфа‑стадии. В этом выпуске мы объявляем, что:

Команды и связанный с ними функционал, в целом, готовы к использованию в вашем приложении. Это позволяет контролировать не только ваши данные, но и индексы. Теперь добавление, обновление или удаление индекса можно выполнять легко. Другой режим, в котором вы определяете схему индекса в файле конфигурации, по‑прежнему полностью доступен и поддерживается и имеет смысл (например, для синхронизации данных из внешних хранилищ: MySQL / PostgreSQL / CSV и т.д.).

Мы создали интерактивный курс, который покажет, как работать с перечисленными командами.

Пройти курс по новому режиму

Новый PHP‑клиент

Мы рады представить вам новый официальный PHP‑клиент для Manticore Search.

По сравнению со старым клиентом, новый:

  • Использует протокол HTTP вместо SphinxAPI
  • Разработан для PHP 7+
  • Поддерживает Composer
  • Поддерживает пулы соединений и стратегии отказа
  • Предлагает методы не только для поиска, но и для манипуляций данными и администрирования индексов/узлов/кластера
  • Можно использовать PSR‑логгер

Узнать больше о новом PHP‑клиенте

Новый Docker‑образ

Мы выпускаем новый полностью переработанный Docker‑образ со следующими возможностями:

  • новый режим онлайн‑изменения схемы, используемый по умолчанию. Даже если у вас нет конфигурации, вы всё равно можете использовать Docker‑образ. Также в продакшене.
  • Внутри MySQL‑клиент. Теперь вам не нужно устанавливать его на хосте. Чтобы проверить, просто выполните:
    docker run --name manticore --rm -d manticoresearch/manticore && docker exec -it manticore mysql -w && docker stop manticore
    
  • если затем выполнить
    source /sandbox.sql
    
он создаст тестовый индекс, и с помощью клавиш ВВЕРХ и ВНИЗ вы сможете просматривать некоторые примерные запросы
  • пример docker-compose, показывающий рекомендуемый способ использования в продакшене
  • пример репликации

Подробнее о новом Docker‑образе

Поля только для хранения

Теперь вы можете иметь поля, которые сохраняются, но не индексируются полнотекстово. Это полезно, когда вы хотите сохранить что‑то лишь для включения в окончательный набор результатов и ничего более, но хотите избежать:

  • Полнотекстового индексирования, чтобы не увеличивать размер словаря и время индексации
  • Хранения его в памяти как строкового атрибута только для экономии ОЗУ

Типичные сценарии использования:

  • Для заголовка/тела документа использовать индексируемое + сохраняемое, чтобы можно было находить в полях и мгновенно подсвечивать/отображать результаты
  • Для URL документа использовать только сохраняемое, так как мало вероятно, что вы захотите искать по URL и подсвечивать его
  • Для тегов/цвета/размера использовать строковые атрибуты, чтобы можно было фильтровать по ним и выполнять фасетный поиск

Попробовать онлайн

ВНИМАНИЕ: Полнотекстовые поля теперь «хранятся» по умолчанию в реальном времени индексах.

Начиная с версии 3.4.0 полнотекстовые поля в реальном времени индексах «хранятся» по умолчанию, что делает все добавленные в Manticore Search данные доступными в их оригинальном виде по умолчанию. Существует множество случаев, когда Manticore Search может использоваться как автономная база данных, а не как дополнение к другому хранилищу, поэтому мы изменили значение по умолчанию.

Посмотреть как это работает

Токенизация всех языков

Большинство языков теперь по умолчанию токенизируются корректно.

Еще одно изменённое значение по умолчанию относится к charset_table. Ранее оно включало только цифры, латинские и кириллические буквы. Начиная с этой версии, оно включает коды для большинства языков , так что в большинстве случаев вам не о чём беспокоиться.

HTTP /sql endpoint

Все SQL‑запросы теперь поддерживаются через HTTP.

Конечная точка /sql протокола HTTP теперь поддерживает все операторы SphinxQL, которые иначе доступны через протокол MySQL.

ВНИМАНИЕ: Начиная с версии 3.4.0 репликацию нельзя сочетать со схемами индексов, определёнными в конфигурации.​

Репликация всегда поддерживалась только для индексов реального времени, и их манипуляция всегда была возможна онлайн без необходимости обновлять конфигурацию. Поскольку мы добавляем новый режим, в котором вы также можете управлять схемой онлайн, мы решили поддерживать репликацию только в новом режиме. Поэтому теперь всё просто:
CREATE TABLE -> `CREATE CLUSTER -> ALTER CLUSTER ... ADD

без необходимости переходить к редактированию конфигурации для добавления каждого нового индекса.

Онлайн‑курс по репликации в Manticore

Пандемия COVID-19

Мы все столкнулись с беспрецедентной ситуацией, связанной с COVID-19. Мы надеемся, что вы и ваши близкие в безопасности и здоровы, и сейчас, как никогда ранее, удалённое сотрудничество имеет важное значение.

We all faced an unprecedented situation in connection with COVID-19. We hope that you and your loved ones are safe and healthy, and now more than ever, remote cooperation is important.

Manticore Software core team has been always working remotely from different parts of the world, therefore, our normal work processes are not affected by the situation at all. We are continuing to do what we used to do, keeping on improving our product and supporting our clients.

Берегите себя и своих близких!

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

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