Stagger狮身人面像索引

时间:2013-03-04 21:42:17

标签: mysql sphinx

我正在尝试创建一个包含3700万条记录的索引。

我正在使用脚本从MySQL导出数据,并将其输出为XML,然后使用xmlpipe2导入。

我遇到的问题是生成的XML文件相当大,而我正在开发的服务器没有内存来存储XML。

如果我限制导入的行数,例如LIMIT 0,1000000,当我执行LIMIT 1000000,1000000时,索引不会“合并”,但会覆盖。

我可以以某种方式错开这个,所以我最终得到了所有数据的索引吗?

由于

2 个答案:

答案 0 :(得分:0)

每个索引可以有多个源,例如几个xml文件或几个mysql源。索引按照您提供的顺序获取它们,只需确保文档ID在各个源中是唯一的。

答案 1 :(得分:0)

而不是输出到实际的XML文件,只需将输出直接传递给sphinx。这样他们实际的文件永远不会存在(在内存中或在文件系统上)。

即您在'xmlpipe_command'中调用的脚本只是将XML直接打印到STDOUT。 sphinx消化并随着它一起读取它。

我读过比这样的服务器内存大很多倍的XML数据源。