Solr PostgreSQL基本配置

时间:2017-01-29 14:12:16

标签: postgresql solr dataimporthandler

我很难在PostgreSQL(主数据源)和Solr之间建立基本连接。我试图关注它上面有很多帖子。这是我所做的(在linux中),尝试使用数据导入处理程序修改dih​​示例到我的需要。

来自https://jdbc.postgresql.org/download.html我下载postgresql-9.4.1212.jre6.jar并将其放在solr-6.4.0 / dist。

我在lib包含区域的solr-6.4.0 / example / example-DIH / solr / solr / conf中编辑solrconfig.xml,如下所示:

<lib dir="${solr.install.dir:../../../..}/dist/" regex="postgresql-.*\.jar" />

并在请求区域中如下:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
  <lst name="defaults">
  <str name="config">solr-data-config.xml</str>
</lst>

我也在solr-6.4.0 / example / example-DIH / solr / solr / conf中编辑solr-data-config.xml到以下内容:

    <dataConfig>
<dataSource  type="JdbcDataSource" driver="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/mydatabase" user="postgres" password="pass" />
   <document >
     <entity name="user" query="SELECT first_name FROM main.'user'">
    </entity>
   </document>
</dataConfig>

注意我在帖子中发现混淆的数据库连接,但我相信我包含它是正确的,mydatabase是postgreSQL数据库的名称。然后我通过bin / solr -e dih运行Solr。这样可以在http://localhost:8983/solr

访问服务器

但是,当我尝试通过http://localhost:8983/solr/#/collection1/dataimport//dataimport提取数据时,我收到了错误

Sorry, no dataimport-handler defined!

我的数据架构:

<?xml version="1.0" encoding="UTF-8" ?>
    <schema name="example-DIH-solr" version="1.6">
     <types>
        <fieldType name="string" class="solr.TextField">
          <analyzer>
          <tokenizer class="solr.StandardTokenizerFactory"/>
          </analyzer>
        </fieldType>
     </types>
     <fields>
        <field name="first_name" type="string" indexed="true" stored="true"/>
        <field name="_version_" type="string" indexed="true" stored="true"/>
     </fields>
    <uniqueKey>first_name</uniqueKey>
    </schema>

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

该消息是管理UI中的一个错误的结果,特定于6.4.0版本

https://issues.apache.org/jira/browse/SOLR-10035

该问题详细说明了如何修复管理界面。

请注意,这不会影响dataimport处理程序的实际操作,只会影响管理UI。 Solr的使用通常不是通过管理UI完成的。