1

この奇妙なエラーは、whoosh コミット プロセスを中断した後に表示されます。私が今コミットしようとしているとき、私は得ています

  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 を再インストールし、インデックス ディレクトリを変更しようとしましたが、うまくいきません。では、どうすればシューッという音を修復できますか?

4

1 に答える 1

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 ブロックを離れると自動的に閉じられます。これが、いわゆるコンテキスト マネージャーのしくみです。

于 2013-02-24T12:52:53.933 に答える