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

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

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

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

Смотрите, как это работает

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

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

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

HTTP /sql конечная точка

Все SQL предложения теперь поддерживаются по HTTP.

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

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

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

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

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

Пандемия COVID-19

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

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