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
- 现在我们需要配置数据源。为此,我们将使用支持 Manticore Search 的 MySQL 驱动程序。打开插件
Database -> New -> Data Source -> MySQL并按照下图完成Port和Authentication字段:
- 点击
Test Connection按钮以确保源配置正确。
- 保存配置后,数据库标签将显示与 Manticore Search 交互的界面。

在 PHPStorm 中使用 Manticore Search
创建表
创建表时,建议使用控制台 Ctrl+Shift+F10
create table products(title text, price float) morphology='stem_en';
如果您决定使用 UI,请从表创建命令中删除 Manticore.products 数据库,仅保留 products。
插入
要通过 PHPStorm 向 Manticore 插入数据,可以使用控制台和 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 自动生成,请将 id 值设置为 0 而不是默认的 null。
打开表后,可以看到刚刚添加的数据。
选择
由于在 MySQL 中 MATCH() SQL 语句的格式不同,且 UI 会将其视为错误,因此最好使用控制台进行 SELECT 操作。
select * from products where match('pet')

更新
更新操作只能在控制台中执行。
update products set price=18.5 where id = 8217058505249521668;
# 1 row affected in 12 ms
删除
删除操作只能通过控制台执行。
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 可以通过像 PHPStorm 这样的 MySQL IDE 访问,但它本身并不是 MySQL。这一区别带来了 IDE 与 Manticore Search 交互时的某些限制。
