⚠️ 此页面为自动翻译,翻译可能不完美。

启动时加载索引

在本文中,我们讨论了索引如何在启动时加载以及对传入查询和搜索实例管理的影响。
在较旧的 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 镜像,请查看官方 repository 。
改进 Manticore Search 现在与 MySQL 8.x 客户端兼容。
TRUNCATE 命令接收可选的 WITH RECONFIGURE,允许在单个命令中截断和重新配置 RT 索引。 …

致命错误:端口 0 超出范围

嘿。只是想给你一个提示,关于如何处理错误 "致命错误:端口 0 超出范围",以防你使用 unix 套接字与 Sphinx / Manticore 实例进行通信。
这是一个例子:
snikolaev@dev:~/dir$ ./searchd -c sphinx.conf Manticore 2.7.1 458e9c6@180704 dev Copyright (c) 2001-2016, Andrew Aksyonoff Copyright (c) …

从 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 的改进:本地索引管理

资源共享到目前为止是通过 RW 锁完成的。在高负载下,使用锁在尝试对索引进行更改时可能会遇到问题。为了克服这些问题,我们必须重新思考线程与索引之间的关系。
索引可以很大甚至巨大,并且它们在工作线程之间共享。在多核 CPU 上,您可以同时发出许多查询,它们将分布在核心上,使用同一个索引。这很简单明了。然而,有时您需要更新索引。无缝轮换在旧的 fork 工作线程中运行得相当好:我们只需加载新的索引文件,让正在工作的进程继续使用旧的索引。在某一时刻,新查询会发送到已经共享新加载索引 …

安装Manticore Search

安装Manticore Search