当我们有一些未存储的字段时,如何使用 whoosh 模块更新索引文档


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的内容,我该怎么办?我不知道如何检索未存储的字段的内容。

whoosh 无法"就地"更新索引文档(想象一下一个字段变得更长......

因此,您从whoosh索引中检索文档(它将包括所有存储的字段(。如果您的字段未存储在 whoosh 中但保存在其他地方,则需要从这些其他地方检索它们并再次将它们添加到文档中。

然后调用 update_document(**fields( - whoosh 将使用唯一字段删除在这些字段中具有相同值的旧索引文档,然后为新文档编制索引。

相关内容

  • 没有找到相关文章

最新更新