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

Manticore Search PHPStorm support

Manticore предоставляет ограниченную поддержку PHPStorm. В этой статье я опишу основные шаги настройки IDE для работы с Manticore. Я использую версию IDE 2023.2.4; поддержка может быть недоступна в более ранних или более поздних версиях.

Инициализация

  1. Запустите Manticore Search. Например, используем Docker:
docker run -p 9306:9306 --name manticore --rm -d manticoresearch/manticore:dev-6.2.13-cbf9350
  1. Теперь нам нужно настроить источник данных. Для этого мы будем использовать драйвер MySQL, поддерживающий Manticore Search. Откройте плагин Database -> New -> Data Source -> MySQL и заполните поля Port и Authentication, как показано ниже:
    Заполнение источника данных
  2. Нажмите кнопку Test Connection, чтобы убедиться, что источник настроен правильно.
    Проверка соединения
  3. После сохранения конфигурации вкладка базы данных отобразит интерфейс для работы с 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 генерировался автоматически.
Вставка через UI

При открытии таблицы вы можете увидеть только что добавленные данные.
Пример вставленных данных

SELECT

Лучше использовать консоль для SELECT, поскольку оператор SQL MATCH() имеет иной формат в MySQL, и UI считает его ошибочным.

select * from products where match('pet')

Выбор с оператором match

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

Поддержка перколяционных запросов также реализована только на уровне консоли.

  1. Создайте таблицу pq
CREATE TABLE pq_table(title text, color string) type='pq';
  1. Заполните данными
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;

Выбор PQ

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

Вызов PQ

Заключение

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

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

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