バージョン一覧
- ソル 4.2.0
- Ubuntu 12.10
- トムキャット6
- SQL 5.5.29
サーバーにsolrを正常にセットアップし、このリンクを使用してsolr管理ページにアクセスできます
http://localhost:8080/solr
問題は dataimport にあります。dataimport の試行時に http ステータス 404 エラーが表示されます...
説明 : 要求されたリソース (/solr/dataimport) は利用できません。
http://localhost:8080/solr/dataimport
ここに私のディレクトリ構造があります
root@web:~/solr-4.2.0/example/solr/collection1/conf# ls
admin-extra.html mapping-FoldToASCII.txt
stopwords.txt admin-extra.menu-bottom.html mapping-ISOLatin1Accent.txt synonyms.txt admin-extra.menu-top.html
protwords.txt update-script.js currency.xml
schema.xml 速度 data-config.xml scripts.conf
xslt elevate.xml
solrconfig.xml lang spellings.txtroot@ web:~/solr-4.2.0/example/lib# ls
jetty-continuation-8.1.8.v20121106.jar jetty-server-8.1.8.v20121106.jar jetty-deploy-8.1.8.v20121106.jar
jetty-servlet-8.1.8.v20121106.jar jetty-http-8.1. 8.v20121106.jar
jetty-util-8.1.8.v20121106.jar jetty-io-8.1.8.v20121106.jar
jetty-webapp-8.1.8.v20121106.jar jetty-jmx-8.1.8.v20121106.jar
jetty -xml-8.1.8.v20121106.jar jetty-security-8.1.8.v20121106.jar
サーブレット-api-3.0.jarroot@ web:~/solr-4.2.0/dist# ls -l total 20716 -rw-r--r-- 1 root root 17359734 Mar 7 06:32 solr-4.2.0.war -rw-r-- r-- 1 ルート root 16714 Mar 7 06:31 solr-analysis-extras-4.2.0.jar -rw-r--r-- 1 root root 29896 Mar 7 06:32 solr-cell-4.2.0.jar -rw-r--r-- 1 ルート ルート 50435 3 月 7 日 06:31 solr-clustering-4.2.0.jar -rw-r--r-- 1 ルート ルート 2106321 3 月 7 日 06:32 solr-core-4.2 .0.jar -rw-r--r-- 1 ルート ルート 217076 3 月 7 日 06:31 solr-dataimporthandler-4.2.0.jar -rw-r--r-- 1 ルート ルート 31134 3 月 7 日 06:31 solr -dataimporthandler-extras-4.2.0.jar -rw-r--r-- 1 ルート ルート 766460 3 月 7 日 06:32 solr-langid-4.2.0.jar -rw-r--r-- 1 ルート ルート 392357 3 月 7 日 06:32 solr-solrj-4.2.0.jar -rw-r--r-- 1 ルート root 149825 3 月 7 日 06:31 solr-test-framework-4.2.0.jar -rw-r--r -- 1 ルート ルート 38743 3 月 7 日 06:32 solr-uima-4.2.0。jar -rw-r--r-- 1 ルート ルート 20286 3 月 7 日 06:32 solr-velocity-4.2.0.jar drwxr-xr-x 2 ルート ルート 4096 6 月 20 日 17:59 solrj-lib drwxr-xr-x 4 ルート ルート 4096 6 月 20 日 17:59 テスト フレームワーク
root@ web:~/solr-4.2.0/contrib# ls -l 合計 28 drwxr-xr-x 4 root root 4096 Mar 7 06:33 analysis-extras drwxr-xr-x 3 root root 4096 Jun 20 17:59クラスタリング drwxr-xr-x 3 ルート ルート 4096 6 月 20 日 17:59 dataimporthandler drwxr-xr-x 3 ルート ルート 4096 6 月 20 日 17:59 抽出 drwxr-xr-x 3 ルート ルート 4096 6 月 20 日 17:59 langid drwxr-xr- x 4 ルート ルート 4096 3 月 7 日 06:33 uima drwxr-xr-x 3 ルート ルート 4096 6 月 20 日 17:59 速度
root@web:~/solr-4.2.0/example/solr# ls -l 合計 20
-rw-r--r-- 1 ルート ルート 2473 2012 年 10 月 17 日 README.txt drwxr-xr-x 2 ルート ルート 4096 2012 年 10 月 17 日 bin drwxr-xr-x 3 ルート ルート 4096 2012 年 6 月 17 日 17:59 コレクション 1 -rw- r--r-- 1 ルート ルート 2222 6 月 25 日 15:44 solr.xml -rw-r--r-- 1 ルート ルート 501 2012 年 10 月 17 日 Zoo.cfg
/solr-4.2.0/example/solr/collection1/conf にあるsolarconfig.xmlファイルに dataimport lib パスが追加されました
<lib dir="../../../../../contrib/dataimporthandler/lib" regex=".*\.jar" />
<lib dir="../../../../contrib/extraction/lib" regex=".*\.jar" />
<lib dir="../../../../dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="../../../../contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="../../../../dist/" regex="solr-clustering-\d.*\.jar" />
<lib dir="../../../../contrib/langid/lib/" regex=".*\.jar" />
<lib dir="../../../../dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="../../../../contrib/velocity/lib" regex=".*\.jar" />
<lib dir="../../../../dist/" regex="solr-velocity-\d.*\.jar" />
<lib dir="../../../../dist/" regex="solr-dataimporthandler-\d.*\.jar" />
パスを別のディレクトリに変更しようとしましたが、それでも同じ応答です..
これを定義した同じsolarconfig.xmlファイルで
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
<lst name="datasource">
<str name="driver">com.mysql.jdbc.Driver</str>
<str name="url">jdbc:mysql://localhost:3306/web</str>
<str name="user">username</str>
<str name="password">password</str>
</lst>
</lst>
</requestHandler>
他のフィールド名の下のschema.xmlファイルに自分のフィールド名を追加しました...
<field name="solr_field1" type="long" indexed="true" stored="true" required="true" multiValued="false" />
<field name="solr_field2" type="long" indexed="true" stored="true" required="true" multiValued="false" />
<field name="solr_field3" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="solr_field4" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="solr_field5" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="solr_field6" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="solr_field7" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="solr_field8" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="solr_field9" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="solr_field10" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="solr_field11" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="solr_field12" type="string" indexed="true" stored="true" required="true" multiValued="false" />
そして、これらのあとがきこれらのフィールドも...
<copyField source="contact_name" dest="text"/>
<copyField source="contact_email" dest="text"/>
<copyField source="business_name" dest="text"/>
<copyField source="city" dest="text"/>
<copyField source="state" dest="text"/>
<copyField source="zip_code" dest="text"/>
<copyField source="phone" dest="text"/>
<copyField source="website" dest="text"/>
<copyField source="address" dest="text"/>
<copyField source="major_division" dest="text"/>
同じディレクトリにdata-config.xmlファイルを作成し、次の行を追加しました
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver url="jdbc:mysql://localhost:3306/web" user="username" password="password"/>
<document>
<entity name="id " query="select * from business">
<field column="id" name="solr_field1"/>
<field column="metro_id" name="solr_field2"/>
<field column="contact_name" name="solr_field3"/>
<field column="contact_email" name="solr_field4"/>
<field column="business_name" name="solr_field5"/>
<field column="city" name="solr_field6"/>
<field column="state" name="solr_field7"/>
<field column="zip_code" name="solr_field8"/>
<field column="phone" name="solr_field9"/>
<field column="website" name="solr_field10"/>
<field column="address" name="solr_field11"/>
<field column="major_division" name="solr_field12"/>
</entity>
</document>
</dataConfig>
solr.xmlファイルにsharedLib="../lib" を追加
<solr persistent="true" sharedLib="../lib">
<cores adminPath="/admin/cores" defaultCoreName="collection1" host="${host:}" hostPort="${jetty.port:}" hostContext="${hostContext:}" zkClientTimeout="${zkClientTimeout:15000}">
<core name="collection1" instanceDir="collection1" />
</cores>
</solr>
solrにdataimportを認識させる方法についての助けをいただければ幸いです...