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, так работает так называемый менеджер контекста.

Другие вопросы по тегам