Pracuję nad projektem opartym na Lucene.NET. Do tej pory posiadałem klasę, która miała proste właściwości nazwa/wartość (np. Int ID {get; set;}). Jednak teraz muszę dodać nową właściwość do mojego indeksu. Właściwość jest typem listy. Do tego momentu zaktualizowałem indeks tak, aby ...Przechowywanie listy ciągów znaków w 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);
}
Teraz MyResult ma właściwość reprezentującą listę. Jak umieścić to w moim indeksie? Powodem, dla którego muszę go dodać do mojego indeksu, jest to, że mogę go później odzyskać.
Czy zastanawiałeś się nad użyciem czegoś, co przechowuje niepotrzebne dokumenty zamiast zwykłych par klucz-wartość? To rozwiązałoby twój problem (niektóre przykłady, RavenDB, elasticsearch, MongoDB). W przeciwnym razie musiałbyś wygenerować notację dla klucza, który zawiera informacje o tablicy, a także zagnieżdżone informacje o właściwościach (dość łatwe, ale PITA i jak wspomniano powyżej, są rzeczy, które już to robią). – casperOne
Co zawiera twoja lista? Czy musi być możliwe wyszukiwanie? –
Lista NIE musi być dostępna do wyszukiwania. –