2012-07-07 24 views
0
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)當我們有一些未存儲的字段時,如何使用whoosh模塊更新索引文檔?

我wan't更新的clicks內容,而不改變其他領域,我應該怎麼辦呢? 我不知道如何檢索未存儲的字段的內容。

+0

我想通了,我無法檢索它的屬性**「stored = false」**的字段的內容。 我不想解釋我是否可以在文件名的幫助下更新**文件,該文件的** unique = true **屬性已設置爲true,並更改點擊字段並將剩餘內容它是這樣的領域。 – b1tchacked 2012-07-10 20:00:10

回答

0

whoosh無法更新索引文件「就地」(只要想象一個領域得到更長的時間...)。

因此,您將從whoosh索引(它將包括所有存儲的字段)中檢索文檔。 如果您的字段沒有存儲到whoosh,但保存在其他地方,您需要從這些其他位置檢索它們,並將它們再次添加到文檔中。

然後調用update_document(**字段) - whoosh將使用唯一字段刪除這些字段中具有相同值的舊索引文檔,然後爲新文檔編制索引。

相關問題