我正在尝试创建一个包含3700万条记录的索引。
我正在使用脚本从MySQL导出数据,并将其输出为XML,然后使用xmlpipe2导入。
我遇到的问题是生成的XML文件相当大,而我正在开发的服务器没有内存来存储XML。
如果我限制导入的行数,例如LIMIT 0,1000000,当我执行LIMIT 1000000,1000000时,索引不会“合并”,但会覆盖。
我可以以某种方式错开这个,所以我最终得到了所有数据的索引吗?
由于
答案 0 :(得分:0)
每个索引可以有多个源,例如几个xml文件或几个mysql源。索引按照您提供的顺序获取它们,只需确保文档ID在各个源中是唯一的。
答案 1 :(得分:0)
而不是输出到实际的XML文件,只需将输出直接传递给sphinx。这样他们实际的文件永远不会存在(在内存中或在文件系统上)。
即您在'xmlpipe_command'中调用的脚本只是将XML直接打印到STDOUT。 sphinx消化并随着它一起读取它。
我读过比这样的服务器内存大很多倍的XML数据源。