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';
Если вы решите использовать пользовательский интерфейс, уберите из команды создания таблицы базу данных Manticore.products
, оставив только products
.
INSERT
Чтобы вставить данные в Manticore через PHPStorm, вы можете использовать консоль и пользовательский интерфейс:
Консоль
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
Пользовательский интерфейс
Установите значение id
равным 0
вместо значения по умолчанию null
, если вы хотите, чтобы id был сгенерирован автоматически.
Открыв таблицу, вы сможете увидеть данные, которые только что были добавлены.
SELECT
Лучше использовать консоль для SELECT-запросов, так как SQL-запрос MATCH()
имеет другой формат в MySQL, и пользовательский интерфейс считает его ошибочным.
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.