Lucene.NET'e dayanan bir proje üzerinde çalışıyorum. Bu noktaya kadar, basit ad/değer özelliklerine sahip bir sınıfım vardı (int ID {get; set;} gibi). Ancak, şimdi indeksime yeni bir özellik eklemem gerekiyor. Özellik bir liste türüdür. Bu noktaya kadar, ben Lucene.NET dizelerinin saklanması Lucene.NET
MyResult result = GetResult();
using (IndexWriter indexWriter = Initialize())
{
var document = new Document();
document.Add(new Field("ID", result.ID.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZE));
indexWriter.AddDocument(document);
}
Şimdi MyResult Listesini temsil eden bir özelliği vardır ... şöyle dizinimi güncelledik. Bunu dizinime nasıl koyabilirim? İndeksime eklemem gerekmesinin nedeni, daha sonra geri alabilmem.
Aynı adla yeni bir alan olarak listedeki her değer ekleyebilir
Yalnızca anahtar/değer çiftleri yerine yapılandırılmamış belgeleri saklayan bir şeyi kullanmayı düşündünüz mü? Bu sizin probleminizi çözecektir (bazı örnekler, RavenDB, elasticsearch, MongoDB). Aksi takdirde, dizi bilgilerinin yanı sıra yuvalanmış özellik bilgilerinin yer aldığı anahtar için bir notasyon oluşturmanız gerekir (yeterince kolay, ancak bir PITA ve yukarıda belirtildiği gibi, bunu zaten yapan şeyler vardır). – casperOne
Listeniz neyi içerir? Aranabilir olmalı mı? –
Listenin aranabilir olması gerekmez. –