启动时索引加载

在本文中,我们讨论索引的加载方式以及对传入查询和搜索实例管理的影响。
在早期的Sphinx版本中,如果设置了preopen选项,索引会被预读并加载到内存中。在这个过程中,守护进程将拒绝接受任何传入的连接。对于小型索引,这不是一个大问题,因为它们可以快速加载。但对于需要加载几十甚至数百GB的大型索引,这是一个真正的问题,可能需要几分钟甚至更长时间才能完成加载。
在Sphinx 2.3中,这种情况发生了变化,因为索引文件是通过内存映射(使用mmap)加载,而不是简单地读取并加载到 …

Manticore Search 2.7.2 GA release

我们很高兴地宣布发布 Manticore Search 2.7.2 GA. 可供下载的预构建包适用于Debian, Ubuntu, Red Hat/CentOS, Windows 和 OSX,请从 这里 下载。有关Docker镜像,请查看官方 存储库 。
改进 Manticore Search现在兼容MySQL 8.x客户端。
TRUNCATE 命令接收可选的 WITH RECONFIGURE,允许在单个命令中截断和重新配置RT索引。
HTTP协议的VIP连接使 …

FATAL: 端口 0 超出范围

嘿。如果你在使用 Unix 套接字与 Sphinx / Manticore 实例通信时遇到"FATAL: 端口 0 超出范围"错误,以下是一些提示。
这是一个示例:
snikolaev@dev:~/dir$ ./searchd -c sphinx.conf Manticore 2.7.1 458e9c6@180704 dev Copyright (c) 2001-2016, Andrew Aksyonoff Copyright (c) 2008-2016, …

从 Sphinx 迁移

在本文中,我们将讨论如何从 Sphinx 升级。
Manticore Search 是 Sphinx Search 2.3 的一个分支。虽然代码的许多部分已经被 重构 和 改进,但没有任何重大更改需要进行从 Sphinx 的重大升级。在大多数情况下,升级过程与在 Sphinx 的小版本之间升级相同,这主要只是替换二进制可执行文件。
索引 Manticore 使用与 Sphinx 2.x 相同的索引格式,并且使用 Sphinx 创建的索引将被 Manticore 后台加载。唯一 …

Manticore Search 2.7 的改进:网络

在 2.7 中,我们重构了主守护进程和远程代理之间的多个通信区域。这些更改是“在后台”进行的,解决了在某些场景或使用远程节点的高负载分布式索引时遇到的问题。
异步 DNS 这对使用云基础设施的用户来说一直是个问题。在 Linux 上,如果可用,守护进程将使用 getaddrinfo_a() 进行异步 DNS。这意味着我们不需要主动等待答案,而是调度任务,当(如果)DNS 回答时我们继续 - 或者在一段时间后超时后中止。在 getaddrinfo_a 不可用的系统上,我们会启动 …

Manticore Search 2.7的改进:本地索引管理

到目前为止,资源共享一直是使用读写锁完成的。在高负载情况下,使用锁可能会在尝试更改索引时遇到问题。为了克服这些问题,我们不得不重新思考线程和索引之间的关系。
索引可大可小,并且在工作进程之间共享。在多核CPU上,您可以同时触发多个查询,这些查询将分布在不同的核心上,使用同一个索引。这很简单直接。然而,有时您需要更新索引。使用旧的fork工作进程进行无缝轮换效果相当不错:我们只需加载新的索引文件,让现有的工作进程继续使用旧的索引。在某一时刻,新的查询转向已经加载新索引的工作进 …

安装Manticore Search

安装Manticore Search