在Python中创建Whoosh索引时丢失了一些行

时间:2018-11-25 22:28:33

标签: python search-engine whoosh

我正在尝试将数据加载到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服务器,因此资源应该不是问题。

0 个答案:

没有答案