我们很高兴地宣布 Manticore Search 3.4.0 的发布。下载链接可在 这里 获取,Docker 镜像在 Docker Hub 。
新特性
在线管理您的索引,无需编辑配置
在 3.3.0 版本中,我们提到 CREATE TABLE 和 DROP TABLE 处于 alpha 阶段。在这一版本中我们宣布:
命令和相关功能通常已经可以在您的应用程序中使用。它使您能够控制不仅是您的数据,还有索引。现在,添加、更新或删除索引变得非常简单。您还可以继续在配置文件中定义索引模式,该模式仍然完全可用且受到支持,仍然是有道理的(例如,从外部存储同步数据:MySQL / PostgreSQL / CSV 等)。
我们创建了一个互动课程,将向您展示如何处理上述命令。
新 PHP 客户端
我们很高兴为您带来 Manticore Search 的新官方 PHP 客户端。
与旧客户端相比,新客户端:
- 使用 HTTP 协议而不是 SphinxAPI
- 针对 PHP 7+ 设计
- 支持 Composer
- 支持连接池和故障转移策略
- 提供不仅用于搜索,还有数据操作和索引/节点/集群管理的方法
- 可以使用 PSR 日志记录器
新 Docker 镜像
我们发布了新的完全重构的 Docker 镜像,其中包含:
- 默认使用新的在线模式更改。即使您没有任何配置,您仍然可以使用 Docker 镜像。也可以用于生产环境
- 内置 MySQL 客户端。您现在不需要在主机上安装它。要查看,只需运行:
docker run --name manticore --rm -d manticoresearch/manticore && docker exec -it manticore mysql -w && docker stop manticore
- 如果您随后执行
source /sandbox.sql
将创建一个测试索引,您可以通过上下箭头键浏览一些示例查询
- Docker Compose 示例,显示在生产环境中使用它的推荐方法
- 复制示例
仅存储字段
您现在可以有存储字段,但并非全文索引。这在您想存储某些内容以便在最终结果集中保留它时很有用,但希望避免:
- 对其进行全文索引,这样不会增加字典大小和索引时间
- 仅将其保持为字符串属性以节省内存
典型用例为:
- 文档的标题/正文使用索引 + 存储,以便能够在字段中查找并即时高亮/显示结果
- 文档 URL 仅使用存储,因为您很少可能想通过 URL 搜索并高亮显示它
- 对于标签/颜色/大小,使用字符串属性以能够按它们过滤并进行分面搜索
注意:默认情况下,实时索引的全文字段现在是“存储”的。
从 3.4.0 开始,实时索引中的全文字段默认是“存储的”,这使您添加到 Manticore Search 的所有数据默认以其原始形式可用。许多情况下,Manticore Search 可以作为独立数据库使用,而不是作为其他存储的补充,这就是我们更改默认设置的原因。
所有语言的标记化
现在大多数语言默认被良好标记化。
另一个更改的默认值是 charset_table。以前它仅包括数字、拉丁字母和西里尔字母。自这一版本起,它包括 大多数语言 的代码,因此在大多数情况下,您无需担心它。
HTTP /sql 端点
所有 SQL 语句现在都可以通过 HTTP 支持。
HTTP 协议 的 /sql 端点现在支持所有通过 MySQL 协议可能的 SphinxQL 语句。
注意:从 3.4.0 开始,复制不能与索引的配置模式混合。
复制始终仅支持实时索引,并且处理操作始终可以在线进行,无需更新您的配置。
由于我们增加了新的模式,您也可以在线管理您的模式,因此我们决定仅在新模式中支持复制。因此现在简化如下:
CREATE TABLE -> `CREATE CLUSTER -> ALTER CLUSTER ... ADD
无需去编辑您的配置以添加每个新索引。
关于 Manticore 复制的在线课程
COVID-19 大流行
我们都面临着与COVID-19有关的前所未有的情况。我们希望您和您的亲人都安全健康,现在比以往任何时候都更加重要的是远程合作。
Manticore Software核心团队一直在世界不同地方远程工作,因此,我们的正常工作流程没有受到情况的影响。我们正在继续做我们过去一直在做的事情,不断改进我们的产品并支持我们的客户。
照顾好自己和您亲人!