Wykonałem testy porównawcze czasów indeksowania dla Sphinx & Solr. Sphinx jest daleko w porównaniu do Solr w odniesieniu do algorytmów indeksowania (bardzo szybkie czasy indeksowania i niewielki rozmiar indeksu).
Kiedy mówisz, że 10 stron tekstu, wydaje się, że nawet nie potrzebujesz indeksowania Sphinx w czasie rzeczywistym. Możesz śledzić schemat indeksowania głównego + trójkąta w Sphinxie (możesz to znaleźć w dokumentacji Sphinx). Byłoby superszybko i prawie w czasie rzeczywistym. Jeśli potrzebujesz więcej pomocy w tym zakresie, prosimy zapytać, chętnie Ci wyjaśnimy.
Solr jest świetny, ale jeśli chodzi o zoptymalizowane skały Sfinksa Algorytmy! Spróbuj Sphinx.
Wychodząc na twoje pytania w komentarzu, Solr/Lucene obsługuje przyrostowe indeksowanie (znane jako import delta w swojej terminologii) i jego ciche łatwe do skonfigurowania, ale są one dość powolne w porównaniu do metody stosowanej przez Sphinx.
Główna + Delta jest wystarczająco szybka, ponieważ możesz zrobić tylko tymczasową tabelę, w której zapisujesz nowy tekst i indeksujesz. Zgodnie z dokumentacją: Sphinx obsługuje aktualizację indeksu "na żywo" (prawie w czasie rzeczywistym) i może być zaimplementowany przy użyciu schematu "główna + trójkąt".Chodzi o to, aby skonfigurować dwa źródła i dwa indeksy, z jednym "głównym" indeksem dla danych i jedną "różnicą" dla nowych dokumentów.
Załóżmy na przykład, że masz 10 milionów rekordów, więc możesz zachować to jako główny indeks, a wszystkie nowe dokumenty zostaną dodane do nowej tabeli, która będzie działała jako delta. Ta nowa tabela może być indeksowana od czasu do czasu (powiedzmy co 1 godzinę), a dane można przeszukiwać w ciągu kilku sekund, ponieważ masz 10 stron tekstu. Teraz po przeszukaniu twoich nowych rekordów możesz scalić dokumenty tabeli głównej i tabeli delta, które można przeprowadzić bez zakłócania wyszukiwania. Po scaleniu dokumentów opróżnij nową tabelę i ponownie po godzinie możesz ponownie wykonać cały proces. Mam nadzieję, że masz to jeszcze, proszę, zadaj dowolne pytanie.
Dziękuję za pomoc. Z tego co przeczytałem main + delta jest dokładnie to, czego potrzebuję. Ale jest jeden punkt, który nie jest jasny w dokumencie; mówią, że zmniejszy czas indeksowania do 30 do 60 sekund. W moim przypadku bardzo ważne jest, aby nowy tekst był gotowy do przeszukiwania w ciągu kilku sekund (maksimum na minutę). Czy main + delta jest wystarczająco szybki? Z tego, co widzę, Sphinx jest w ten sposób. – applechief
Jesteś mile widziany. Możesz zobaczyć moją edytowaną odpowiedź powyżej. Main + Delta powinien działać doskonale, ponieważ indeksowanie Sphinx jest naprawdę szybkie. Jednak jeszcze jedno: Proszę również spojrzeć na indeksy czasu rzeczywistego w Sphinx, jak wspomniano w jednej z powyższych odpowiedzi, nigdy go nie używałem, ale wydaje się obiecujące. Po zastosowaniu obu danych możesz sprawdzić, które rozwiązanie najlepiej Ci odpowiada. – Yavar