2013-06-26 2 views
0

список Versionпроблема импорта данных (HTTP Status 404) с помощью Solr и Tomcat6

  • Solr 4.2.0
  • убунту 12,10
  • кот
  • SQL 5.5.29

Я успешно настроил solr на своем сервере и могу получить доступ к странице администрирования solr по этой ссылке

http://localhost:8080/solr 

проблема на dataimport я вижу HTTP статус 404 Ошибка при попытке dataimport ...

Описание: Запрошенный ресурс (/ Solr/dataimport) не доступен.

http://localhost:8080/solr/dataimport 

вот моя структура каталогов

корень @ Веб: ~/Solr-4.2.0/пример/Solr/collection1/конф # Ls

админ-extra.html mapping- FoldToASCII.txt
stopwords.txt админ-extra.menu-bottom.html отображение-ISOLatin1Accent.txt synonyms.txt админ-extra.menu-top.html
protwords.txt ДОПОЛНЕНО script.js currency.xml
Schema.xml скорость передачи данных config.xml
scripts.conf elevate.xml
XSLT solrconfig.xml Ланг 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 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 Пристань-JMX-8.1.8.v20121106.jar
Пристань-XML-8.1.8.v20121106.jar Пристань-безопасности 8.1.8.v20121106.jar
сервлет-апи-3.0.jar

корень @ веб: ~/Solr-4.2.0/DIST # Ls -l общей 20716 -rw-р - r-- 1 корень корня 17359734 7 марта 6:32 Solr-4.2.0.war -rw-r-r-- 1 корень корня 16714 7 марта 06:31 solr-анализ-extras-4.2.0.jar -rw-r - r-- 1 корень root 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 корень root 2106321 Mar 7 06:32 solr-core-4.2.0.jar -rw-r - r-- 1 корень root 217076 Ma r 7 06:31 solr-dataimporthandler-4.2.0.jar -rw-r - r-- 1 корень корня 31134 7 марта 06:31 solr-dataimporthandler-extras-4.2.0.jar -rw-r- -r-- 1 корень root 766460 7 марта 06:32 solr-langid-4.2.0.jar -rw-r - r-- 1 корень root 392357 7 марта 06:32 solr-solrj-4.2.0.jar -rw-r - r-- 1 корень root 149825 7 марта 06:31 solr-test-framework-4.2.0.jar -rw-r - r-- 1 корень root 38743 7 марта 06:32 solr-uima-4.2.0.jar -rw-r - r-- 1 корень root 20286 7 мар 06:32 solr- speed-4.2.0.jar drwxr-xr-x 2 корень root 4096 20 июн 17:59 solrj-lib drwxr-xr-x 4 корень root 4096 20 июн 17:59 испытательный каркас

root @ web: ~/solr-4.2.0/contrib # ls -l всего 28 drwxr-xr-x 4 корень root 4096 7 марта 06:33 анализ-extras drwxr-xr-x 3 корень root 4096 20 июня 17:59 кластеризация drwxr-xr-x 3 root root 4096 20 июн 17:59 dataimporthandler drwxr-xr-x 3 корень root 4096 20 июн 17:59 извлечение drwxr-xr-x 3 корень root 4096 20 июн 17:59 langid drwxr-xr -x 4 корень корня 4096 7 мар 06: 33 UIMA drwxr-хт-х 3 корень корень 4096 20 июня 17:59 скорость

корень @ веб: ~/Solr-4.2.0/пример/Solr # Ls -l всего 20

-rw -r - r-- 1 корень root 2473 17 октября 2012 README.txt drwxr-xr-x 2 корень root 4096 17 октября 2012 bin drwxr-xr-x 3 корень root 4096 20 июн 17:59 collection1 -rw- г - r-- 1 корень корень 2222 25 июня 15:44 solr.xml -rw-р - r-- 1 корень корень 501 17 октября 2012 zoo.cfg

В solarconfig.xml файл, расположенный в /solr-4.2.0/example/solr/collection1/conf добавлен 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"/> 

создал данных 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 была бы оценена ... большое спасибо

+0

Использует молы или Tomcat? не должен порт 8983 ?? – Jayendra

+0

мы используем Tomcat. Как проверить правильный порт? –

ответ

0

Я получил ту же ошибку. Возможное решение

Я добавил следующие строки кода в файле solrconfig.xml

<lib dir="../../../contrib/dataimporthandler/lib/" regex=".*\.jar" /> 
<lib dir="../../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" /> 

убедитесь, что ваш апач-Solr-dataimporthandler-4.0.jar и апач-Solr-dataimporthandler-дополнения-4,0.jar в папке dist, и он находится в правильном пути.

не забудьте перезагрузить сервер tomcat.

Для получения дополнительной информации проверьте следующую ссылку на вопрос.

DIH(Data Import Handler) for xml files is not working in Solr4

Другое дело, что вы используете Tomcat, чтобы ваш номер порта 8080. не 8983.

+0

да это оказалось проблемой пути .. thankyou :) – Mubarak