我们很高兴宣布 Manticore Search 2.5.1 版本的发布。
适用于 Debian、Ubuntu、Red Hat/CentOS、Windows 和 OSX 的预编译包可以从 这里 下载。
HTTP API JSON 查询
HTTP API 新增了一个端点,允许以 JSON 格式编写查询。虽然目前尚未具备 SphinxQL 的全部功能,但它可以执行 搜索 和数据操作( 插入 / 更新 / 替换 / 删除 )。目前有一些限制,因为数据操作功能尚未支持 MVA 和 JSON 属性。
请注意,JSON 查询目前处于早期阶段,未来可能会发生变化。我们欢迎任何人尝试并给我们反馈。我们不仅希望发现潜在的错误,也欢迎任何关于这种连接 Manticore Search 新方式的建议。
新功能和改进
显示线程 命令现在将列出正在进行的操作,如索引优化、轮换和刷新。
新增了 重新加载索引 命令,其效果与向 searchd 守护进程发送 HUP 信号相同。
新增了 刷新日志 命令,其效果与向 searchd 守护进程发送 USR1 信号相同。
按 N 分组 现在在针对 MVA 属性使用时可以正确工作。
从 SQL 源构建的多值属性现在可以使用 范围查询 ,通过主 sql_query 的范围步长和范围值。
sql_attr_multi = uint mva from ranged-main-query; select id, mva from mva where id between $start and $end
为 Debian 9 和 OSX 10.13 添加了软件包。改进了对 FreeBSD、OSX 和 Alpine 平台的支持。
此版本为索引引入了引用计数。在高负载期间,轮换可能会因现有运行查询而延迟,进而导致新查询延迟。通过新更改,现有查询由索引的旧版本处理,而新查询由索引的新版本处理,因此轮换和查询不再停滞。这意味着旧版本将保留在内存中,直到针对它的查询完成执行。
另一个更改与黑洞代理相关。虽然主节点不会等待发送到黑洞节点的查询的响应,但它会尝试连接并等待回复。这意味着如果黑洞节点发生故障,主节点会尝试重新连接(取决于重试次数设置),因此主节点可能会因黑洞节点而停滞。现在黑洞节点由与主查询运行的线程不同的独立线程处理,不再影响主查询。
如需查看完整的更改报告,请参阅 发布说明 。
下一版本的早期说明
我们的下一个版本将在 12 月的第二周发布。此版本将停止支持 32 位文档 ID。32 位 ID 来自 Sphinx 早期阶段,当时硬件限制较多,我们认为现在已没有理由继续支持它们。