Manticore 3.4.0: онлайн-изменение схемы, новый PHP-клиент и docker-образ

Мы рады сообщить о выпуске 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 и подсвечивать его
  • Для тегов/цвета/размера использовать строковые атрибуты, чтобы можно было фильтровать и выполнять фасетный поиск

Попробуйте онлайн

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

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

Посмотрите, как это работает

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

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

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

HTTP /sql эндпоинт

Теперь поддерживаются все SQL-предложения через HTTP.

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

ВНИМАНИЕ: С версии 3.4.0 репликация не может быть смешана со схемами индексов в конфигурации.​

Репликация всегда поддерживала только Real-time индексы, и манипуляция с ними всегда была возможна онлайн без необходимости обновления конфигурации.
Поскольку мы добавляем новый режим, где вы можете управлять схемой онлайн, мы решили, что репликация будет поддерживаться только в новом режиме. Теперь это просто:

CREATE TABLE -> `CREATE CLUSTER -> ALTER CLUSTER ... ADD

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

Пандемия COVID-19

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

Основная команда Manticore Software всегда работала удаленно из разных частей мира, поэтому наши обычные рабочие процессы никак не пострадали. Мы продолжаем делать то, что делали, продолжая улучшать наш продукт и поддерживать наших клиентов.

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

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

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