搜索用的索引文件很大

问题描述 投票:0回答:1

我用python写了一个算法,用于为大约500个文本文件中的每一个词做索引(有些大于2MB),以便在我的应用程序的搜索引擎中使用。索引文件是基于json的,即{key:value}结构。索引的数据是:文件ID、段落ID和行号。这是对每一个词进行的。相似的词进行组合。

问题是索引文件变得比较大(超过行数据的两倍),这将增加我的应用程序的大小。这个app是在没有网络的情况下使用的,所以索引文件一定要运在里面。

这是我第一次做这种事情,所以我想知道是否有办法减少大小,例如,使用其他数据库结构而不是json,索引文件的最佳格式,或者其他什么。

先谢谢你了。

python json algorithm indexing full-text-search
1个回答
0
投票

你的JSON结构是一个很好的选择,但是为了不使你的应用变得很大,你可以使用一个分布式系统进行索引。

我的意思是 您可以创建许多索引文件 而不是一个,你可以写一个算法,在其中以分布式的方式进行搜索。

而关于大小问题,你可以压缩它们,并解压每个索引文件,只用于搜索。


例子:

索引文件 : f1 , f2 , f3

他们将被压缩并存储在您的应用程序中 , 搜索这里是你可以做什么 :

for f in f1 , f2 , f3 :
    index_file = decompress(f)
    # search within index_file

© www.soinside.com 2019 - 2024. All rights reserved.