У меня есть CSV-файл с ~ 9 миллионами строк.Я хочу, чтобы можно было быстро найти строку из этого файла.Я решил использовать 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