我有一个包含约 900 万行的 CSV 文件。我希望能够快速从该文件中搜索一行。我决定使用 python whoosh 来索引这些数据,然后搜索它,如下所示。
schema = Schema(content=TEXT(stored=True, analyzer=RegexTokenizer() | LowercaseFilter() | CharsetFilter(accent_map)))
if not os.path.exists("index"):
os.mkdir("index")
ix = create_in("index", schema)
ix = open_dir("index")
writer = ix.writer()
with open(file_path, 'r', encoding='utf-8') as file:
for line in file:
writer.add_document(content=line)
writer.commit()
我不确定这是否是索引数据的正确/最快方法。更改架构是否会使索引更快?如果不是,使用 whoosh 或其他索引库的一般想法是否适合像这样的大文件?
好消息是索引只会做一次,所以我愿意等待这是否会提供快速的搜索时间。我在全文搜索方面没有经验。有人会知道,通过我的设置,索引需要多长时间?
这是我的 csv 示例:
ID,TYPE,TEXT,ID2
1058895,1,Be,1067806
1058895,2,Hosl,101938
1058895,3,370,None
1058895,4,Tnwg,10582
守着一只汪
潇湘沐
相关分类