Obecnie pracuję nad projektem dotyczącym indeksowania wielu dokumentów (z powolnym procesem) przed włożeniem ich do Lucene.Net.
Aby przyspieszyć indeksację, chciałbymzduplikuj usługę systemu Windows, aby zachować tylko jeden wątek w moich usługach. Oznacza to, że będę mieć wiele IndexWriter i nie jest to możliwe z powodu blokady. Również usługi nie będą na tym samym serwerze, co oznacza, że pamięć współdzielona nie jest możliwa.
Czy jest jakiś sposób, aby to zrobić bezpiecznie? jeśli tak, jak to zrobić?
Dzięki z góry za odpowiedzi.
Lenny
Odpowiedzi:
1 dla odpowiedzi № 1Każdy pisarz powinien pisać w swoim katalogu, a ty możesz połączyć je jako ostatni krok IndexWriter.AddIndexesNoOptimize
Scala wszystkie segmenty z tablicy indeksów w ten indeks.
Można to wykorzystać do zrównoleglenia indeksowania partii. Duży zbiór dokumentów można podzielić na podkolekcje. Każda podkolekcja może być indeksowana równolegle, na innym wątku, procesie lub maszynie. Pełny indeks można następnie utworzyć, łącząc indeksy sub-kolekcji za pomocą tej metody.