Solr PostgreSQL 基本配置

Solr PostgreSQL Basic Configuration

我正在努力建立 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>

感谢您提供的任何帮助。

该消息是管理员 UI 中的错误导致的,特定于 6.4.0 版本

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

该问题详细说明了如何修复管理员 UI。

请注意,这不会影响数据导入处理程序的实际操作,只会影响管理员 UI。 Solr 的使用通常不是通过管理员 UI.