Tomcatを使用してApacheSolrを構成する方法と、Solrを使用してMSSQLデータベースでインデックスを作成する方法を教えてください。TomcatでApacheSolrを実行するようにTomcatを構成する手順は何ですか。
1 に答える
これが役立つステップバイステップの手順です。
パート1:TOMCATを使用したSOLRのセットアップ
ステップ1:Solrをダウンロードします。単なるzipファイルです。
ステップ2:SOLR_HOME_DIR / dist/apache-solr-1.3.0.warからtomcatwebappsディレクトリーにコピーします。$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に提供するヒープメモリの量を指すことに注意してください。
ステップ5:Tomcatを起動します。これは、Tomcatがwarファイルを解凍できるようにするためにのみ必要であることに注意してください。$ CATALINA_HOME / webappsの下を見ると、solrディレクトリがあるはずです。
ステップ6:Tomcatを停止します
ステップ7:その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エントリのコメントを解除します。
ステップ8:Tomcatを再起動すると、問題なく動作するはずです。URL http:// localhost:8080 / solr / admin /を試すことで、solrが実行されていることを確認できるはずです。
パート2:データインポートハンドラーを使用したMSSQLサーバーでのSOLRのセットアップ
手順1:Microsoft SQL Server JDBCDriver3.0をダウンロードします。内容を抽出するだけです。solrホームディレクトリの下にフォルダを作成します(例:C:\ solr \ lib)。上記でダウンロードしたアーカイブからファイルsqljdbc4.jarをコピーします。
ステップ2:したがって、Solrホームの下で必要な基本ディレクトリはconfとlibです。最初のもの、つまりパート1のステップ3で取得したconfとlibは、パート2のステップ1で作成したディレクトリです。
手順3.confディレクトリに移動します。エディターでdata-config.xml、schema.xml、solrconfig.xmlの3つのファイルを開いてください。
ステップ4.data-config.xmlを編集することから始めます。SQLクエリ、DB名、サーバー名などを配置します。例:
• <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:data-config.xmlファイルについてSolrに通知します。これは、solr構成ファイルであるsolrconfig.xmlファイルに要求ハンドラーを追加することによって行われます。次のrequesthandlerを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を構成する-このファイルでは、フィールドのデータ型の設定、検索の一意/主キーの設定など、いくつかの操作を実行できます。
ステップ7: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" />)