2016-03-23 26 views
1

RabbitMQ'da aynı nesnenin birden çok sürümü olması durumunda, RabbitMQ kuyruğundan nesneleri indekslemek için Lucene kullanıyoruz. bir arama terimine göre mevcut kayıtları bulabilir ve silebilir ve yeni bir tane oluşturabilir).Lucene.net ile dizin oluşturma

Yapmak istediğim şey, dizinin en son nesnenin olduğundan emin olmanın bir yoludur. Örneğin, eğer RabbitMQ için bir nesnenin 2 güncellemesi varsa ve eğer RabbitMQ'dan sıyrılıp çekilirse 1 ve 2 değerleriyle 'Sürüm' alanına sahip olun, Lucene'ye "bu belge sürümü mevcut belgeden daha düşükse, belgeyi güncelleştirmeyin" ifadesinin bir yolu var mı?

Teşekkür

başka olay herkes yılında

cevap

0

benzer bir sorun vardır, güncellemeden önce dizinde arayarak sona erdi. Bu, en verimli yöntem değil, ancak işin bitmesine neden olur:

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

ve sonra sonuçta oluşan dokümanı kullanarak güncelleştiriyoruz.