0

版本列表

  • 索尔 4.2.0
  • Ubuntu 12.10
  • 雄猫 6
  • sql 5.5.29

我在我的服务器上成功设置了 solr,并且可以使用此链接访问 solr 管理页面

http://localhost:8080/solr

问题出在数据导入上,我在尝试数据导入时看到 http 状态 404 错误...

描述:请求的资源(/solr/dataimport)不可用。

 http://localhost:8080/solr/dataimport

这是我的目录结构

root@web:~/solr-4.2.0/example/solr/collection1/conf# ls

admin-extra.html 映射-FoldToASCII.txt stopwords.txt
admin-extra.menu-bottom.html 映射-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.txt

root@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
servlet-api-3.0.jar

root@ 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 根根 16714 Mar 7 06:31 solr-analysis-extras-4.2.0.jar -rw-r--r-- 1 根根 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 根根 149825 3 月 7 日 06:31 solr-test-framework-4.2.0.jar -rw-r--r -- 1 根 38743 Mar 7 06:32 solr-uima-4.2.0。jar -rw-r--r-- 1 root root 20286 Mar 7 06:32 solr-velocity-4.2.0.jar drwxr-xr-x 2 root root 4096 Jun 20 17:59 solrj-lib drwxr-xr-x 4 root root 4096 Jun 20 17:59 test-framework

root@ web:~/solr-4.2.0/contrib# ls -l total 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 root root 4096 Jun 20 17:59 dataimporthandler drwxr-xr-x 3 root root 4096 Jun 20 17:59 提取 drwxr-xr-x 3 root root 4096 Jun 20 17:59 langid drwxr-xr- x 4 root root 4096 Mar 7 06:33 uima drwxr-xr-x 3 root root 4096 Jun 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 6 月 20 日 17:59 集合 1 -rw- r--r-- 1 根 2222 Jun 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 识别数据导入的任何帮助将不胜感激谢谢...

4

1 回答 1

0

我得到了同样的错误。可能的解决方案是

我在 solrconfig.xml 文件中添加了以下代码行

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

确保 dist 文件夹中的 apache-solr-dataimporthandler-4.0.jar 和 apache-solr-dataimporthandler-extras-4.0.jar 文件位于正确的路径中。

不要忘记重启tomcat服务器。

有关更多详细信息,请查看以下问题链接。

xml 文件的 DIH(数据导入处理程序)在 Solr4 中不起作用

另一件事是你使用的是 Tomcat,所以你的端口号是 8080。不是 8983。

于 2013-06-27T12:57:45.857 回答