php操作solr7.5通过mysql导入的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php操作solr7.5通过mysql导入的数据相关的知识,希望对你有一定的参考价值。
solr安装与配置
下载
下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/7.5.0
下载后直接解压。
配置
创建新core
进入解压后目录(后面有~/solr-root/代替),进入~/solr-root/server/solr/,新建目录,目录名自己随便定义,我定义的是test_core,然后将~/solr-root/server/solr/configsets/_default/目录中的conf目录复制到刚才新建的test_core中。
data-config.xml
新建data-config.xml文件,然后将下面内容写入文件中。
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource name="source1" type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/emails"
user="root"
password="root"
batchSize="-1" />
<document>
<entity name="users" dataSource="source1"
query="select id,name,id_card,staff_level,status from users">
<field column="id" name="id" />
<field column="name" name="name" />
<field column="id_card" name="id_card" />
<field column="staff_level" name="staff_level" />
<field column="status" name="status" />
</entity>
</document>
</dataConfig>
说明:
emails是库名,下面几个field定义的就是select出来的那几个字段。
solrconfig.xml
编辑solrconfig.xml文件,搜索“requestHandler”,讲下面代码加入并列的requestHandler配置块中:
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
managed-schema
编辑managed-schema文件,保留一下三个field:
<field name="_version_" type="plong" indexed="false" stored="false"/>
<field name="_root_" type="string" indexed="true" stored="false" docValues="false" />
<field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/>
编辑其它field,跟data-config.xml文件中的field对应:
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="name" type="string" indexed="true" stored="true"/>
<field name="id_card" type="string" indexed="true" stored="true"/>
<field name="staff_level" type="string" indexed="true" stored="true"/>
<field name="status" type="string" indexed="true" stored="true"/>
下载数据库链接库
下载地址:http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar
将刚才现在的mysql-connector-java-8.0.11.jar 和~/solr-root/dist 目录下的
solr-dataimporthandler-extras-7.5.0.jar 、solr-dataimporthandler-7.5.0.jar
这三个jar包一起拷贝到~/solr-root/server/solr-webapp/webapp/WEB-INF/lib目录下
启动solr
执行启动命令:
./~/solr-root/bin/solr start
启动后访问:127.0.0.1:8983,显示如下界面:
导入mysql数据
选择刚才新建的test_core。
执行完成后:
测试
php操作solr
安装solr扩展。
查询
直接通过curl访问类似下面的url即可:
增加数据
$client = new SolrClient($options);
$data = array(
array(
‘id‘ => ‘EN80922032‘,
‘name‘ => ‘男士打磨直筒休闲牛仔裤‘,
‘brand‘ => ‘ENERGIE‘,
‘cat‘ => ‘牛仔裤‘,
‘price‘ => ‘1870.00‘
),
array(
‘id‘ => ‘EN70906025‘,
‘name‘ => ‘品牌LOGO翻领拉链外套‘,
‘brand‘ => ‘ENERGIE‘,
‘cat‘ => ‘外套‘,
‘price‘ => ‘1680.00‘
),
//自定义数据。。。
);
foreach($data as $key => $value) {
$doc = new SolrInputDocument();
foreach($value as $key2 =>$value2) {
$doc->addField($key2,$value2);
}
$client->addDocument($doc);
}
$client->commit();die;
以上是关于php操作solr7.5通过mysql导入的数据的主要内容,如果未能解决你的问题,请参考以下文章
通过 cPanel 使用 PHP 创建 mysql DB 并导入 *.sql 文件
代写数据库表设计代写SQL语句代做数据库项目代做MySQL数据库