2012-04-05 19 views
7

Czy możesz mi pomóc w skonfigurowaniu Apache Solr za pomocą Tomcat i jak indeksować w bazie danych MS SQL za pomocą Solr. Jakie są kroki, aby skonfigurować Tomcat do uruchamiania Apache Solr w Tomcat.Konfiguracja Apache solr z tomcat 6.0

+0

Konfiguracja Solr z Tomcat - [SolrTomcat] (http://wiki.apache.org/solr/SolrTomcat) do indeksowania z SQL Database można sprawdzić [DataImportHandler] (http://wiki.apache.org/solr/DataImportHandler) – Jayendra

+0

To jest jeszcze jedno zwięzłe wyjaśnienie, o którym warto wspomnieć: http://www.javacilar.com/2012/08/indexing-mysql-db-using-solr- tomcat.html Pozdrawiam – Javatar

+0

Czy przechodziłeś przez kroki opisane na http://wiki.apache.org/solr/DataImportHandler? Po prostu zamień części sterownika, które określają MySQL i użyj sterownika SQLServer. Z przyjemnością odpowiem na wszelkie bardziej szczegółowe pytania, jakie masz! Polecam, abyś użył Solr 1.4, ten pierwszy kandydat do wydania jest dziś opublikowany. –

Odpowiedz

20

Oto procedura krok po kroku, która może pomóc.

CZĘŚĆ 1: Konfiguracja SOLR Tomcat

Krok 1: Pobierz Solr. To tylko plik zip.

Krok 2: Skopiuj z katalogu SOLR_HOME_DIR/dist/apache-solr-1.3.0.war do katalogu webapps tomcat: $ CATALINA_HOME/webapps/solr.war - Zwróć uwagę na zmianę nazwy pliku wojny. To jest ważne.

Krok 3: Utwórz katalog domowy solr w wybranym przez siebie miejscu. Tutaj znajduje się konfiguracja tej instalacji solr. Najprostszym sposobem na to jest skopiowanie katalogu SOLR_HOME_DIR/examples/solr do dowolnego miejsca, w którym ma się znajdować Twój macierzysty kontener solr. Powiedz, umieść go w C: \ solr.

Krok 4: Mam nadzieję, że ustawiłeś swoje zmienne środowiskowe, jeśli nie, ustaw JAVA_HOME, JRE_HOME, CATALINA_OPTS, CATALINA_HOME. Zwróć uwagę, że CATALINA_HOME odnosi się do twojego katalogu Tomcat. & CATALINA_OPTS odnosi się do ilości pamięci sterty, którą chcesz przekazać do Solr.

Krok 5: Rozpocznij tomcat. Zauważ, że jest to konieczne tylko, aby kocioł mógł rozpakować twój plik wojenny. Jeśli zajrzysz do katalogu $ CATALINA_HOME/webapps, teraz powinien znajdować się katalog solr.

Krok 6: Zatrzymanie kocur

Krok 7: Przejdź do tego katalogu solr i edytować WEB-INF/web.xml. Przewiń w dół, aż pojawi się wpis, który wygląda tak:

<!-- People who want to hardcode their "Solr Home" directly into the 
    WAR File can set the JNDI property here... 
--> 
<!-- 
    <env-entry> 
    <env-entry-name>solr/home</env-entry-name> 
    <env-entry-value>/Path/To/My/solr/Home/solr/</env-entry-value> 
    <env-entry-type>java.lang.String</env-entry-type> 
    </env-entry> 
--> 

Ustaw swój dom Solr (na przykład: C: \ solr) i usuń wpis env.

Krok 8: Uruchom ponownie Tomcata, a wszystko powinno wyglądać wspaniale. Powinieneś być w stanie sprawdzić, czy solr działa, próbując url http://localhost:8080/solr/admin/.

CZĘŚĆ 2: Konfiguracja SOLR Z MSSQL Server przy użyciu importu danych HANDLER

Krok 1: Pobierz Microsoft SQL Server JDBC sterownika 3.0. Po prostu wyodrębnij zawartość. Utwórz folder w katalogu domowym solr (przykład: C: \ solr \ lib). Skopiuj plik sqljdbc4.jar z pobranego powyżej archiwum.

Krok 2: Więc pod twoim domem Solr podstawowe katalogi to conf i lib. Pierwszy z nich, np. Conf, mógł się pojawić w kroku 3 części 1 & lib to katalog utworzony w kroku 1 części 2.

Krok 3. Przejdź do katalogu conf. Otwórz 3 pliki w edytorze: data-config.xml, schema.xml & solrconfig.xml.

Krok 4. Rozpocznij od edycji data-config.xml. Umieść zapytanie SQL, nazwę bazy danych, nazwę serwera itp. Przykład:

• <dataConfig> 
• <dataSource type="JdbcDataSource" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://X.Y.Z.U:1433;databaseName=myDB" user="test" password="tester" /> 
• <document> 
• <entity name="Text" query="select DocumentId, Data from Text"> 
• <field column="DocumentId" name="DocumentId" /> 
• <field column="Data" name="Data" /> 
• </entity> 
• </document> 
• </dataConfig> 

Krok 5: Poinformuj Solr o naszym pliku data-config.xml.Można to zrobić, dodając procedurę obsługi żądań do pliku solrconfig.xml, który jest plikiem konfiguracyjnym Solr. Dodaj następujący requesthandler do solrconfig.xml:

• <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
• <lst name="defaults"> 
• <str name="config">C:\solr\conf\data-config.xml</str> 
• </lst> 
• </requestHandler> 

Krok 6: Konfiguracja schema.xml - w tym pliku można zrobić kilka rzeczy, jak konfigurowania typów danych swoich dziedzinach, ustawienie unikalnego/klucz podstawowy wyszukiwania etc .

Krok 7: start Tomcat

Krok 8: teraz odwiedzić http://localhost:8080/solr/admin/dataimport.jsp?handler=/dataimport & rozpocząć swój pełny import.

Kilka przydatnych Uwagi:

• There are a number of reasons a data import could fail, most likely due to problem with 
the configuration of data-config.xml. To see for sure what's going on you'll have to look in 
C:\tomcat6\logs\catalina.*. 

    • If you happen to find that your import is failing due to system running out of memory, 
however, there's an easy, SQL Server specific fix. Add responseBuffering=adaptive and 
selectMethod=cursor to the url attribute of the dataSource node in data-config.xml. That stops the 
JDBC driver from trying to load the entire result set into memory before reads can occur. 

    • Note that by default the index gets created in C:\Tomcat6\bin\solr\data\index. To change this path 
just edit solrconfig.xml & change <dataDir>${solr.data.dir:./solr/data}</dataDir>. 

    • In new Solr versions, I think 3.0 and above you have to place the 2 data import handler 
jars in your solr lib directory (i.e. for example apache-solr-dataimporthandler-3.3.0.jar & apache- 
solr-dataimporthandler-extras-3.3.0.jar). Search for them in your Solr zip you downloaded. In older 
Solr versions this is not required because they are bundled with solr.war. Since we have placed the 
data import handlers in the lib directory so we need to specify their paths in solrconfig.xml. Add 
this line to solrconfig.xml: (Example: <lib dir="C:/solr/lib/" regex="apache-solr-dataimporthandler- 
\d.*\.jar" />) 
+0

Witaj Yavar, Znalazłem błąd podczas importowania danych. Status HTTP 500 - null java.lang.AbstractMethodError na org.apache.solr.handler.RequestHandlerBase.handleRequest –

+0

Cześć Vishal, Będzie lepiej, jeśli otworzysz kolejne pytanie, w którym możesz wkleić cały błąd, który dostaniesz dzienniki, aby pomóc może ktoś inny, który jest tego świadomy. To byłoby lepsze podejście, a także proszę wkleić cały otrzymany błąd, a nie jsut a snippet. – Yavar

+0

Cześć Yavar Dodałem nowe pytanie z całym błędem Więc proszę sprawdź to i pozwól mi co zrobię. Dzięki. –

Powiązane problemy