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

Research on Jemalloc

正如 http://jemalloc.net/ 上所述:
jemalloc 是一个通用的 malloc(3) 实现,强调避免碎片和可扩展的并发支持。
一些 Sphinx 和 Manticore Search 用户更倾向于使用 jemalloc 而非 malloc,并表示它能够节省一些 RAM。我在 3 个 Manticore 集群(se03/03-2、se04/04-2、se05/05-2)上测试了 2 周 jemalloc 对资源消耗和响应时间的影响,每个集群:
接 …

image-fallback

Sphinx 3 vs Manticore: performance benchmark

[更新] 更新的基准测试结果请参见 此处 。
近期备受期待的 Sphinx 3 已经 发布 并在 3.0.2 版本中更新 。它新增了文档存储功能、A-索引、片段预索引等功能,但不幸的是,它不再开源(至少在 2018 年 3 月之前是这样)。
这些功能都非常不错,但你是否关心 Sphinx 3 的性能受到了多大影响,以及与 Manticore 的性能差异有多大?我们也很感兴趣!
为了弄清楚这一点,我们进行了基准测试,以测量:
索引时间 Sphinx 3 和 Manticore …

Preserving the order of search result set from Manticore Search

在Manticore查询和最终返回给用户的结果之间可能存在额外的处理。由于大多数情况下需要根据相关性评分进行排序,因此必须确保不丢失这种排序。
使用Manticore Search配合数据库的典型工作流程如下:
执行Manticore查询 从结果集中获取文档ID列表 使用文档ID执行数据库查询以获取最终输出结果 可以通过使用IN(ids)谓词在单个查询中从数据库获取对应的记录。
mysql> SELECT * FROM mytable WHERE id …

Manticore Search kill-list feature

普通索引的文本数据是不可变的,这意味着要刷新数据,我们需要执行完整的重新索引。在许多情况下,重新索引可能需要很长时间。为此,使用了 main+delta schema 。
该概念假设一个大型索引,它保存了某个时间点的数据快照,以及一个较小的索引,它保存了从快照时间到更近期的更改(delta)。由于后者较小,可以更频繁地重新索引。delta 更改可以是新记录、更新或删除的记录。更新或删除的记录会引入一个问题:当引擎在两个索引中搜索时,它不知道主索引中的记录是否已过时。这会导致继 …

Plain indexes replication

Manticore Search(以及Sphinx)目前尚未原生支持普通索引或RT索引的复制(尽管我们正在开发此功能,如果您想成为测试人员,请发送邮件至[email protected]),因此如果您需要在其他地方复制Manticore Search / Sphinx数据,必须自行实现。您可能需要它的原因:
可扩展性:您希望在服务器上平衡负载(例如,您可以将所有Manticore查询的一半发送到一个服务器,其余发送到另一个服务器)以提高吞吐量,降低延迟或服务器负 …

Manticore Search 2.6.2 GA release

我们很高兴宣布 Manticore Search 2.6.2 GA 的发布。
适用于 Debian、Ubuntu、Red Hat/CentOS、Windows 和 OSX 的预构建软件包可以从 此处 下载。如需 Docker 镜像,请查看官方 仓库 。
改进 Percolate 查询的性能得到了显著提升,尤其是在使用 NOT 运算符以及文档批量处理时。
根据 dist_threads 的设置,可以使用多个线程来处理 CALL PQ 调用。使用 dist_threads=8 …

安装Manticore Search

安装Manticore Search