我们很高兴地宣布 Manticore Search 2.4.1 的 GA 版本发布。
可供 Debian、Ubuntu、Red Hat/CentOS、Windows 和 OSX 的预构建包可以从 这里 下载。
Manticore Search 2.4.1 GA 与现有的 Sphinx 搜索版本 100% 兼容(如果您从旧的 Sphinx 版本升级,请检查到 2.3.2 的升级路径)。
新特性
WHERE 中的 OR 操作符
现在可以在属性过滤器之间的 WHERE 子句中使用 OR。请注意,在 MATCH 子句与属性过滤器之间仍然无法使用 OR。
mysql> select * from wikipedia where match('test')  and pageid=357881 OR  len=2070;
+-----------+------------------------------------------------------------+---------+-------+------------+
| id        | title                                                      | pageid  | len   | touched    |
+-----------+------------------------------------------------------------+---------+-------+------------+
| 227704715 | Test-driven_development                                    |  357881 | 24915 | 1216959577 |
| 222632760 | Echo_(command)                                             |  754160 |  2070 | 1214847412 |
+-----------+------------------------------------------------------------+---------+-------+------------+
2 rows in set (0.01 sec)
维护模式
使用 SET 语句可以将服务器置于维护模式。在此模式下,仅允许使用 VIP 连接的客户端执行查询。
mysql> SET MAINTENANCE = 1;
在分布式索引上调用关键字
现在也可以在分布式索引上运行 CALL KEYWORDS。该命令在每个节点上执行,结果由主节点合并并发送回去。
UTC 中的分组
默认情况下,时间分组函数在本地时区计算。 grouping_in_utc 允许切换到 UTC 时区。还可以通过 SET 语句动态更改。
日志文件权限
默认情况下,searchd 创建权限为 600 的日志文件。现在可以使用 query_log_mode 设置不同的权限。
searchd
{
   ...
   query_log_mode = 666
   ...
}
其他小调整:
- 字段权重可以为零或负数 
- max_query_time 现在可以中断全扫描查询(没有 MATCH 子句的查询) 
- 引入 net_wait_tm、net_throttle_accept 和 net_throttle_action。这些是工作线程池的网络线程微调设置,以应对繁忙的服务器。 
- 现在可以在使用 Facets 时执行 COUNT DISTINCT 
- IN 现在可以与 JSON 浮点数组一起使用 
- 整数/浮点表达式不再破坏多查询优化 
- 当使用多查询优化时,SHOW META 会显示一个 ‘multiplier’ 行 
编译
编译所需的最低 gcc 版本为 4.7.2。编译过程需要 cmake。这使得可以将构建打包为 ZIP 文件或特定的发行版包(rpm/deb)。有关更多信息,请查阅文档的 编译部分 。
从 Sphinx 搜索升级
Manticore Search 继续使用常规的 /etc/sphinxsearch/sphinx.conf。
服务将以 manticore 用户身份运行(Sphinx 使用的是 sphinx 或 sphinxsearch)。
默认使用的文件夹是 /var/lib/manticore、/var/log/manticore、/var/run/manticore。您仍然可以使用现有的 sphinx.conf,但需要手动更改 /var/lib/sphinxsearch、/var/log/sphinxsearch、/var/run/sphinxsearch 的权限。
错误修复
在 Sphinx 2.3.2 上报告的大量错误已被修复,但可能不是全部。如果您升级后仍然遇到错误,请在官方 问题追踪器 上填报工单。
如果您正在使用实时索引,建议升级到 Manticore Search 2.4.1 GA,因为在 Sphinx Search 2.3.2 引入的 RT 块渐进合并可能会导致索引损坏。
有关更改的完整报告,请查阅 发布说明 。