簡體   English   中英

Apache solr 配置 tomcat 6.0

[英]Apache solr configuration with tomcat 6.0

您能幫我配置Apache Solr使用Tomcat以及如何在MS SQL數據庫中使用Solr。

以下是會有所幫助的分步過程。

第 1 部分:設置 SOLR 和 TOMCAT

第 1 步:下載 Solr。它只是一個 zip 文件。

第 2 步:從您的 SOLR_HOME_DIR/dist/apache-solr-1.3.0.war 復制到您的 tomcat webapps 目錄:$CATALINA_HOME/webapps/solr.war – 注意 war 文件名更改。 這很重要。

第 3 步:在您選擇的位置創建您的 solr 主目錄。 這是 solr 安裝的配置所在的位置。 最簡單的方法是將 SOLR_HOME_DIR/examples/solr 目錄復制到您希望 solr 主容器所在的位置。 說把它放在 C:\solr。

第 4 步:希望您已經設置了環境變量,如果沒有請設置 JAVA_HOME、JRE_HOME、CATALINA_OPTS、CATALINA_HOME。 請注意,CATALINA_HOME 指的是您的 Tomcat 目錄,而 CATALINA_OPTS 指的是您要提供給 Solr 的堆 memory 的數量。

第 5 步:啟動 tomcat。請注意,這僅是允許 tomcat 解壓您的 war 文件所必需的。 如果您在 $CATALINA_HOME/webapps 下查看,現在應該有一個 solr 目錄。

第 6 步:停止 tomcat

第七步:Go進入solr目錄,編輯WEB-INF/web.xml。 向下滾動,直到看到如下所示的條目:

<!-- 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>
-->

設置您的 Solr 主頁(例如:C:\solr)並取消注釋 env 條目。

第八步:再次啟動Tomcat,應該一切順利。 您應該能夠通過嘗試 url http://localhost:8080/solr/admin/來驗證 solr 是否正在運行。

第 2 部分:使用數據導入處理程序在 MSSQL 服務器上設置 SOLR

第一步:下載微軟SQL服務器JDBC驅動3.0。 只需提取內容。 在您的 solr 主目錄下創建一個文件夾(示例:C:\solr\lib)。 將文件 sqljdbc4.jar 從上面下載的存檔復制到其中。

第 2 步:因此,在您的 Solr 主目錄下,所需的基本目錄是 conf 和 lib。 第一個,即您可能在第 1 部分的第 3 步中獲得的 conf 和 lib 是您在第 2 部分的第 1 步中創建的目錄。

步驟 3. Go 到 conf 目錄。 請在您的編輯器中打開 3 個文件:data-config.xml、schema.xml 和 solrconfig.xml。

步驟 4. 首先編輯 data-config.xml。 放置您的 SQL 查詢、數據庫名稱、服務器名稱等。例如:

•   <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>

第 5 步:告訴 Solr 我們的 data-config.xml 文件。 這將通過將請求處理程序添加到 solrconfig.xml 文件(即 solr 配置文件)來完成。 將以下請求處理程序添加到 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>

第 6 步:配置 schema.xml - 在此文件中,您可以執行多項操作,例如設置字段的數據類型、設置搜索的唯一/主鍵等。

第七步:啟動Tomcat

第 8 步:現在訪問http://localhost:8080/solr/admin/dataimport.jsp?handler=/dataimport並開始完全導入。

一些方便的注意事項:

    •   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" />)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM