[英]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.