簡體   English   中英

使用Lucene.net進行索引版本控制

[英]Index versioning with Lucene.net

我們正在使用Lucene來索引RabbitMQ隊列中的對象,如果RabbitMQ中有相同對象的多個版本,我們將只有一個文檔,因為我們使用updatedocument(它將查找和刪除基於a的現有記錄)搜索術語並創建一個新的)。

我想做的是確保索引是最新對象的一種方法,所以如果我們有一個對象的兩次更新到RabbitMQ並且它們是從RabbitMQ中不按順序提取的,如果我有字段'版本'的值為1和2,有沒有辦法告訴Lucene“如果此文檔版本低於現有文檔,則不要更新文檔”?

謝謝

如果其他人遇到類似的問題,最后在更新之前搜索索引。 這不是最有效的方法,但它完成了工作:

var doc = (from d in results
                       let ver = long.Parse(d.GetField("Version").StringValue)
                       where ver < model._Version
                       orderby ver descending
                       select d).FirstOrDefault();

然后我們使用生成的文檔進行更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM