1
Schema(title=TEXT(analyzer=stem_ana, stored=True),
       content=TEXT(analyzer=stem_ana, vector=True),
       link=ID(stored=True),
       meta=TEXT(analyzer=stem_ana),
       path=ID(stored=True),
       scores=ID(stored=True),
       clicks=NUMERIC(stored=True),
       file_name=ID(unique=True)
)

フィールドを取得できませんcontent=TEXT(analyzer=stem_ana, vector=True)

他のフィールドを変更せずにコンテンツを更新しclicksたくないのですが、どうすればよいですか?保存されていないフィールドの内容を取得する方法がわかりません。

4

1 に答える 1

1

whooshは、インデックス付きドキュメントを「インプレース」で更新できません(1つのフィールドが長くなったと想像してください...)。

したがって、whooshインデックスからドキュメントを取得します(保存されているすべてのフィールドが含まれます)。whooshに保存されていないが他の場所に保持されているフィールドがある場合は、これらの他の場所からフィールドを取得して、ドキュメントに再度追加する必要があります。

次に、update_document(** fields)を呼び出します。whooshは、一意のフィールドを使用して、これらのフィールドに同じ値を持つ古いインデックス付きドキュメントを削除してから、新しいドキュメントにインデックスを付けます。

于 2013-02-24T14:57:39.093 に答える