0

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

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

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

如果我限制要导入的行数,例如 LIMIT 0、1000000,那么当我执行 LIMIT 1000000、1000000 时,索引不会像这样“合并”,而是会覆盖。

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

谢谢

4

2 回答 2

0

无需输出到实际的 XML 文件,只需将输出直接通过管道传输到 sphinx。这样他们的实际文件就不必存在(在内存中或文件系统上)。

即,您在“xmlpipe_command”中调用的脚本只是将 XML 直接打印到 STDOUT。狮身人面像会随着它的进行消化并阅读它。

我已经读取了比服务器内存大很多倍的 XML 数据源。

于 2013-03-05T13:06:08.787 回答
0

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

于 2013-03-05T06:17:46.037 回答