【发布时间】:2017-01-29 14:12:16
【问题描述】:
我正在努力在 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>
感谢您提供的任何帮助。
【问题讨论】:
标签: postgresql solr dataimporthandler