【发布时间】:2020-06-23 13:23:56
【问题描述】:
我最近做了一个大约的索引。内存中有 2,000,000 个文档。这些文档是从 mysql 数据库导入的,加载大约需要 6 到 10 秒。每次我启动程序时,时间都花在导入数据上。我尝试过使用 json、pickle、cPickle 甚至 redis,但时间很重要,为了更新,我必须重新启动整个程序。我这里用的是python。
我的问题是 google、solr、elasticsearch 等搜索引擎如何存储倒排索引。他们是将它们作为哈希表存储在内存中还是在数据库中?如何在不重新启动的情况下更新索引?什么是用于此类目的的最佳数据库。
【问题讨论】:
-
文件是从mysql数据库导入的。那为什么要在内存中建索引,而直接用mysql索引呢?
-
@Serge 我正在从 mysql 导入一些测试数据集。我的真正目标是利用抓取的数据开发搜索功能。
标签: python database data-structures information-retrieval inverted-index