我正在尝试将数据加载到Whoosh搜索引擎中。大约有700万行要插入。首先,我从PostgreSQL数据库中获得所有带有psycopg2
的行,然后将带有writer.add_document(some_data_here)
的所有行插入到Whoosh索引中。我的writer
对象如下:
writer = index.writer(limitmb=1024,procs=5,multisegment=True)
问题是执行index.searcher().documents()
(应该返回索引中的所有文档)返回的行数要少得多-大约为5 000000。我可以用另一个查询来确认,只需搜索{ {1}}适合每条记录-我得到相同的结果(大约500万)。
我以为这可能是某些Python并发性或内存问题,所以我尝试将其批量加载-我将数据划分为相等的500 000条记录块,但没有运气,仍然获得了较低的数量。我也尝试过使用Term
的参数,但没有成功。
当我尝试搜索我确切知道需要存在的记录时发现了问题-并非如此。我正在运行16 GB RAM + 6 CPU服务器,因此资源应该不是问题。