python whoosh IndexingError при прерывании
Эта странная ошибка появляется после того, как я прервал процесс коммитов. Когда я пытаюсь совершить сейчас, я получаю
File "/usr/local/lib/python2.7/dist-packages/whoosh/filedb/filewriting.py", line 179, in _check_state
raise IndexingError("This writer is closed")
whoosh.writing.IndexingError: This writer is closed
Я пытался переустановить lib, изменить каталог индекса, но он не работает. Так, как я мог восстановить чушь?
1 ответ
Решение
Я думаю, что нет необходимости "ремонтировать свист" (или индекс).
Это может быть просто ваш код, который открывает программу записи, может использовать ее, закрывает, а затем пытается снова использовать закрытую программу записи.
Просто всегда делай так:
with myindex.writer() as w:
w.add_document(title=u"First document", content=u"Hello there.")
w.add_document(title=u"Second document", content=u"This is easy!")
И если вам нужно добавить больше документов позже (за пределами этого блока "with"), откройте нового писателя таким же образом...
Примечание: писатель w автоматически закрывается при выходе из блока with, так работает так называемый менеджер контекста.