2012-04-18 13 views
7

Mam ponad 100 plików CSV, które mają 10000 wierszy, które indeksuję. A następnie zapytanie o pisownię jest podobną pisownią. Robiąc to indeksowanie jest bardzo powolne.Solr wolno podczas indeksowania

znalazłem kilka dobrych rozwiązań

  1. Master-Slave, gdzie stosowany jest mistrz Index i niewolnik dla zapytania. How to index records in Solr faster (and not impact ColdFusion web server)? Two JVM?

  2. Korzystanie Tri-Range http://www.lucidimagination.com/blog/2009/05/13/exploring-lucene-and-solrs-trierange-capabilities/

Znam te dwa rozwiązania są różne chciałem kilka uwag, które powinny mieć wyższy priorytet? Czy drugie rozwiązanie pasuje do mojego problemu? A jeśli wyjdzie więcej rozwiązań mojego problemu z sprawdzaniem pisowni.

Z góry dzięki

+0

Czy możesz dokładnie opisać, co aktualnie robisz? Jak indeksować i jak uruchamiać zapytania? – jpountz

Odpowiedz

8

Indeksowanie zwykle powoduje powolne zapytania. Jeśli masz szybkie dyski, indeksowanie użyje 100% CPU, w przeciwnym razie użyje 100% przepustowości dysku. Tak czy inaczej, zapytania będą powolne.

Konfiguracja standardowa/podrzędna jest standardowym rozwiązaniem tego problemu. Serwery podrzędne służą do wyszukiwania zapytań. Jedyne spowolnienie następuje po replikacji, gdy tworzone są nowe Wyszukiwarki z nowymi pamięciami podręcznymi.

Konfiguracja master/slave może nie przyspieszyć indeksowania, ale pozwoli uniknąć powolnego wykonywania zapytań. Trwają prace nad tworzeniem indeksowania wielowątkowego, więc możesz chcieć przetestować wiele zadań indeksowania jednocześnie. To nie pomoże, jeśli wąskim gardłem jest dysk IO, tylko jeśli używa on 100% jednego procesora.

Pola wyszukiwania są przydatne w przypadku zapytań dotyczących zakresu. Wątpię, że będą miały duży wpływ na szybkość indeksowania.

Wreszcie, możesz ustawić opcje sugestii pisowni. Sugestia dotycząca pisowni może wymagać wiele pracy i być może uda się uzyskać dobre wyniki przy różnych, mniej kosztownych opcjach.

+0

Doskonała odpowiedź! Aby to wyjaśnić, pytanie dotyczy dwóch maszyn JVM. Potrzebujesz 2 różnych maszyn. – fulmicoton

Powiązane problemy