Список версий
- solr 4.2.0
- убунту 12.10
- кот 6
- sql 5.5.29
Я успешно настроил solr на своем сервере и могу получить доступ к странице администратора solr по этой ссылке
http://localhost:8080/solr
проблема в импорте данных, я вижу ошибку HTTP-статуса 404 при попытке импорта данных ...
описание: Запрошенный ресурс (/ solr / dataimport) недоступен.
http://localhost:8080/solr/dataimport
вот моя структура каталогов
корень @ веб: ~ / solr-4.2.0 / пример / 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 velocity data-config.xml
scripts.conf xslt elevate.xml
solrconfig.xml lang spellings.txtкорень @ веб: ~ / solr-4.2.0 / пример / lib # ls
причал-продолжение-8.1.8.v20121106.jar причал-сервер-8.1.8.v20121106.jar причал-развертывание-8.1.8.v20121106.jar
причал-сервлет-8.1.8.v20121106.jar причал-http -8.1.8.v20121106.jar
причал-util-8.1.8.v20121106.jar причал-io-8.1.8.v20121106.jar
причал-webapp-8.1.8.v20121106.jar причал-jmx -8.1.8.v20121106.jar
причал-xml-8.1.8.v20121106.jar причал-безопасность-8.1.8.v20121106.jar
servlet-api-3.0.jarroot @ web: ~ / solr-4.2.0 / dist # ls -l total 20716 -rw-r - r-- 1 root root 17359734 7 марта 06:32 solr-4.2.0.war -rw-r-- r-- 1 корневой корень 16714 7 марта 06:31 solr-analysis-extras-4.2.0.jar -rw-r - r-- 1 корневой корень 29896 7 марта 06:32 solr-cell-4.2.0.jar -rw-r - r-- 1 корневой корень 50435 7 марта 06:31 solr-clustering-4.2.0.jar -rw-r - r-- 1 корневой корень 2106321 7 марта 06:32 solr-core-4.2 .0.jar -rw-r - r-- 1 root root 217076 7 марта 06:31 solr-dataimporthandler-4.2.0.jar -rw-r - r-- 1 root root 31134 7 марта 06:31 solr -dataimporthandler-extras-4.2.0.jar -rw-r - r-- 1 корневой корень 766460 7 марта 06:32 solr-langid-4.2.0.jar -rw-r - r-- 1 корневой корень 392357 7 марта 06:32 solr-solrj-4.2.0.jar -rw-r - r-- 1 root root 149825 7 марта 06:31 solr-test-framework-4.2.0.jar -rw-r - r - 1 корневой корень 38743 7 марта 06:32 solr-uima-4.2.0.jar -rw-r - r-- 1 корневой корень 20286 7 марта 06:32 solr-velocity-4.2.0.jar drwxr-xr -x 2 root root 4096 20 июня 17:59 solrj-lib drwxr-xr-x 4 root root 4096 20 июня, 17:59 test-framework
root @ web: ~ / solr-4.2.0 / contrib # ls -l всего 28 drwxr-xr-x 4 root root 4096 7 марта 06:33 analysis-extras drwxr-xr-x 3 root root 4096 20 июня 17:59 кластеризация drwxr-xr-x 3 root root 4096 20 июня 17:59 dataimporthandler drwxr-xr-x 3 root root 4096 20 июня 17:59 извлечение drwxr-xr-x 3 root root 4096 20 июня 17:59 langid drwxr-xr- x 4 root root 4096 7 марта 06:33 uima drwxr-xr-x 3 root root 4096 20 июня 17:59 скорость
root @ web: ~ / solr-4.2.0 / example / solr # ls -l всего 20
-rw-r - r-- 1 root root 2473 17 октября 2012 README.txt drwxr-xr-x 2 root root 4096 17 октября 2012 bin drwxr-xr-x 3 root root 4096 20 июня, 17:59 collection1 -rw- r - r-- 1 корень root 2222 25 июня 15:44 solr.xml -rw-r - r-- 1 корень root 501 17 октября 2012 zoo.cfg
В файле solarconfig.xml, расположенном в /solr-4.2.0/example/solr/collection1/conf, добавлен путь к библиотеке dataimport.
<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>
добавлен sharedLib = "../ lib" в файл solr.xml
<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, будет очень признательна, спасибо ...