Manticore предоставляет ограниченную поддержку PHPStorm. В этой статье я опишу основные шаги настройки IDE для работы с Manticore. Я использую версию IDE 2023.2.4; поддержка может быть недоступна в более ранних или более поздних версиях.
Инициализация
- Запустите Manticore Search. Например, используем Docker:
docker run -p 9306:9306 --name manticore --rm -d manticoresearch/manticore:dev-6.2.13-cbf9350
- Теперь нам нужно настроить источник данных. Для этого мы будем использовать драйвер MySQL, поддерживающий Manticore Search. Откройте плагин
Database -> New -> Data Source -> MySQLи заполните поляPortиAuthentication, как показано ниже:
- Нажмите кнопку
Test Connection, чтобы убедиться, что источник настроен правильно.
- После сохранения конфигурации вкладка базы данных отобразит интерфейс для работы с Manticore Search.

Использование Manticore Search в PHPStorm
Создание таблиц
Для создания таблиц предпочтительно использовать консоль Ctrl+Shift+F10
create table products(title text, price float) morphology='stem_en';
Если вы решите использовать UI, удалите базу данных Manticore.products из команды создания таблицы, оставив только products.
INSERT
Чтобы вставить данные в Manticore через PHPStorm, вы можете использовать консоль и UI:
Консоль
insert into products(title, price) values ('Crossbody Bag with Tassel', 19.85), ('microfiber sheet set', 19.99), ('Pet Hair Remover Glove', 7.99);
# 3 rows affected in 18 ms
UI
Установите значение id в 0 вместо значения по умолчанию null, если вы хотите, чтобы id генерировался автоматически.
При открытии таблицы вы можете увидеть только что добавленные данные.
SELECT
Лучше использовать консоль для SELECT, поскольку оператор SQL MATCH() имеет иной формат в MySQL, и UI считает его ошибочным.
select * from products where match('pet')

UPDATE
Обновления следует выполнять только в консоли.
update products set price=18.5 where id = 8217058505249521668;
# 1 row affected in 12 ms
DELETE
Удаления можно выполнять только через консоль.
delete from products where id = 8217058505249521668;
# 1 row affected in 12 ms
PQ
Поддержка перколяционных запросов также реализована только на уровне консоли.
- Создайте таблицу pq
CREATE TABLE pq_table(title text, color string) type='pq';
- Заполните данными
INSERT INTO pq_table(query) values('@title bag');
INSERT INTO pq_table(query,filters) values('@title shoes', 'color=\'red\'');
INSERT INTO pq_table(query,filters) values('@title shoes', 'color in (\'blue\', \'green\')');
select * from pq_table;

- Выполните команду
CALL PQ
CALL PQ('pq_table', 'What a nice bag', 0 as docs_json);

Заключение
В заключение, интеграция Manticore Search с PHPStorm, особенно версии 2023.2.4, представляет собой простой, но тонкий процесс. Важно помнить, что Manticore Search, хотя и доступен через MySQL IDE, такие как PHPStorm, не является самим MySQL. Это различие накладывает определённые ограничения на взаимодействие IDE с Manticore Search.
