我正在尝试将phpmyadmin上的mysql数据库索引到solr中。
由@MatsLindh解题
我试图找到必要的信息,但没有教程,我已经找到了处理这个设置。
我的数据库: mysql是本地托管的,并通过phpmyadmin访问。这是管理页面。

如您所见,我有一个名为solrtest的db,其中表solr具有字段id、日期、问题和解决方案。
现在要链接我的数据库,在线教程有点不一致。最一致的部分告诉我,我需要使用solrs DataImportHandler和mysql-连接器-java。另一个还提到了jdbc插件。我已经安装并将.jar文件放在我的solr/dist目录中。

在一些教程中,它们也包含在cont肋骨文件夹中,但我在/dist中保留了这些内容。
我的文件:我已经创建了一个名为solrhelp的核心,并在solhelp/conf文件中做了以下更改。
solrconfig.xml
<lib dir="C:\Program Files\Solr\solr-7.5.0\dist\" regex="solr-dataimporthandler-7.5.0.jar" />
<lib dir="C:\Program Files\Solr\solr-7.5.0\dist\" regex="solr-dataimporthandler-extras-7.5.0.jar" />
<lib dir="C:\Program Files\Solr\solr-7.5.0\dist\" regex="mysql-connector-java-8.0.13.jar" />
<lib dir="C:\Program Files\Solr\solr-7.5.0\dist\" regex="sqljdbc41.jar" />
<lib dir="C:\Program Files\Solr\solr-7.5.0\dist\" regex="sqljdbc42.jar" />
<requestHandler name=" /dataimport" class=" org.apache.solr.handler.dataimport.DataImportHandler">
<lst name=" defaults">
<str name=" config">data-config.xml</str>
</lst>
</requestHandler>
<requestHandler name " /dataimport" class=org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="name">solrhelp</str>
<str name="driver">jdbc:mysql.jdbc.Driver</str>
<str name="url">jdbc:mysql://localhost:8983/solrtest</str>
<str name="user">root</str>
<str name="password"></str>
</lst>
</requestHandler>创建的数据-config.xml
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:8983/solrtest"
user="root"
password=""/>
<document>
<entity name="solr"
pk="id"
query="select id, date, Problem, Solution from solr"
>
<field column="id" name="id"/>
<field column="date" name="date"/>
<field column="Problem" name="Problem"/>
<field column="Solution" name="Solution"/>
</entity>
</document>
</dataConfig>和托管模式the
<field name="id" type="string" indexed="true" stored="true" multiValued="false" />
<field name="pdate" type="date" indexed="true" stored="true" multiValued="false" />
<field name="Problem" type="text_general" indexed="true" stored="true" />
<field name="Solution" type="text_general" indexed="true" stored="true" />我向社会人士提出的问题相当广泛,我很抱歉。在我试图发布这个数据库之前,我想知道我遗漏了什么。我认为我没有正确地编辑我的文件,我真的不知道有什么方法来测试他们之前,我试图张贴。应该注意的是,在dist文件夹中,我有两个jdbc,并且在我的solrconfig.xml文件中都有。任何方向的更好的教程或文档将不胜感激。
更新文件solrconfig
<lib dir="C:\Program Files\Solr\solr-7.5.0\dist\"
regex="solr-dataimporthandler-7.5.0.jar" />
<lib dir="C:\Program Files\Solr\solr-7.5.0\dist\"
regex="solr-dataimporthandler-extras-7.5.0.jar" />
<lib dir="C:\Program Files\Solr\solr-7.5.0\contrib\dataimporthandler\lib"
regex="mysql-connector-java-8.0.13.jar" />
<lib dir="C:\Program Files\Solr\solr-7.5.0\contrib\dataimporthandler\lib"
regex="sqljdbc41.jar" />
<lib dir="C:\Program Files\Solr\solr-7.5.0\contrib\dataimporthandler\lib"
regex="sqljdbc42.jar" />
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>数据配置
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:8983/solrtest/solr"
user="root"
password=""/>
<document>
<entity name="solr"
pk="id"
query="select * from solr"
>
<field column="id" name="id"/>
<field column="date" name="date"/>
<field column="Problem" name="Problem"/>
<field column="Solution" name="Solution"/>
</entity>
</document>
</dataConfig>发布于 2018-12-14 22:05:49
这个问题由@MatsLindh解决
我的问题是配置语法。下面是更正的数据-config.xml和solrconfig.xml
数据配置
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/solrtest"
user="root"
password=""/>
<document>
<entity name="solr"
pk="id"
query="select * from solr"
>
<field column="id" name="id"/>
<field column="date" name="date"/>
<field column="Problem" name="Problem"/>
<field column="Solution" name="Solution"/>
</entity>
</document>
</dataConfig>溶胶配置
<lib dir="C:\Program Files\Solr\solr-7.5.0\dist\"
regex="solr-dataimporthandler-7.5.0.jar" />
<lib dir="C:\Program Files\Solr\solr-7.5.0\dist\"
regex="solr-dataimporthandler-extras-7.5.0.jar" />
<lib dir="C:\Program Files\Solr\solr-7.5.0\contrib\dataimporthandler\lib"
regex="mysql-connector-java-8.0.13.jar" />
<lib dir="C:\Program Files\Solr\solr-7.5.0\contrib\dataimporthandler\lib"
regex="sqljdbc41.jar" />
<lib dir="C:\Program Files\Solr\solr-7.5.0\contrib\dataimporthandler\lib"
regex="sqljdbc42.jar" />
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>发布于 2018-12-14 22:05:29
您不导入“通过phpmyadmin”。使用到MySQL服务器的连接信息。不涉及http。假设在运行Solr的同一台计算机上运行jdbc:mysql://localhost:3306/dbname,则MySQL将是您的示例中的字符串。
请密切注意连接字符串中的端口号(3306)和dbname。它应该引用MySQL服务器的值,而不是Solr服务器的值。
https://stackoverflow.com/questions/53730502
复制相似问题