Я хочу построить инвертированный индекс в python, используя отличную библиотеку https://spacy.io/ для токенизации слов. .
Они представляют собой отличный пример того, как одновременно выполнять предварительную обработку и в итоге получить хороший список документов, готовых к индексации.
texts = [u'One document.', u'...', u'Lots of documents']
# .pipe streams input, and produces streaming output
iter_texts = (texts[i % 3] for i in range(100000000))
for i, doc in enumerate(nlp.pipe(iter_texts, batch_size=50, n_threads=4)):
assert doc.is_parsed
if i == 30:
break
print(i)
print(doc)
Чего я пока не понимаю, так это того, как с помощью этого метода поддерживать отношение (путь к файлу/URL) к исходным документам, т.е. сохранять его как дополнительный атрибут с каждым документом.