Php 如何将ApacheSolr与mysql连接

Php 如何将ApacheSolr与mysql连接,php,mysql,apache,solr,Php,Mysql,Apache,Solr,我想将Apache Solr Search Server与mysql Server连接起来,这样我就可以从我的数据库中获取过滤后的数据,并将其转换为JSON或XML。就像我过去所做的那样,我只需要创建一个索引脚本。该脚本作为夜间进程运行,提取要添加到搜索索引中的mySQL数据,并指定solr显示相关搜索结果所需的所有信息 此外,您还可以在数据库更新时添加索引项,例如,如果创建了新用户,请在寄存器脚本中添加一些代码,以插入新的索引项 这是非常快速和容易做到的,solr文档是相当好的 希望这有帮助

我想将Apache Solr Search Server与mysql Server连接起来,这样我就可以从我的数据库中获取过滤后的数据,并将其转换为JSON或XML。

就像我过去所做的那样,我只需要创建一个索引脚本。该脚本作为夜间进程运行,提取要添加到搜索索引中的mySQL数据,并指定solr显示相关搜索结果所需的所有信息

此外,您还可以在数据库更新时添加索引项,例如,如果创建了新用户,请在寄存器脚本中添加一些代码,以插入新的索引项

这是非常快速和容易做到的,solr文档是相当好的

希望这有帮助。

您可以参考、配置数据源、配置data-config.xml

步骤1: 创建一个新的xml文件db-data-config.xml并放入以下内容:

    <dataConfig>
    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://`localhost`/database_name" user="" password=""/>
    <document>
    <entity name="table_name" query="select * from table_name" >
    <field name="solr_field_map" column="table_column_name" />
    <field name="name" column="name" />
    </entity>
    <entity name="emp" query="select id from emp">
<field name="id" column="id" />
    </entity>
    </document>
    </dataConfig>

步骤2: 在solrconfig.xml中,添加:

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

db-data-config.xml
步骤3: 使用命令将数据从mysql源导入solr:

http://
localhost
:8983/solr/db/dataimport?命令=完全导入


如果您想在索引到solr之前修改字段,那么您可以在db data config.xml中的实体上创建transformers。

我也有同样的问题,很难找到简单的教程。无论如何,我发现下面的教程对我很有用

如果我简单地解释一下步骤

  • 在solr/collection1/conf上创建一个配置文件,并在其上添加数据库信息和表列信息

  • 指向solr/collection1/conf/solrconfgig.xml中的配置文件

  • 将未知字段添加到架构

  • 添加dataimport和mysql相关依赖项


  • 虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能会无效。感谢您的评论,我只列出了以下步骤。如果我要解释它们,那么我可能不得不重复参考博客中的内容