此教程是与前两个教程相连接的,如果您没有用小白的前两个教程进行配置,导致出错可不能怪小白的教程有问题喔。
1.导包
在配置核的文件夹下,新建一个lib文件夹,然后把D:\Solr\solr-8.5.0\dist中的两个包复制到D:\Solr\solrhome\collection1\lib,数据到的包就有了,因为小白是将数据库中的数据导入到solr6,所以还需要一个数据库连接包。(此包就不提供了,网上可以下载,小白用的是mysql8连接包)
2.配置solrconfig.xml文件,添加一个requestHandler。
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
3.创建一个data-config.xml,保存到D:\Solr\solrhome\collection1\conf目录下,文本内容为(根据自己的需要写)
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/需要导入的数据库名?serverTimezone=UTC"
user="root" password="你的数据库密码"/>
<document>
<entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products ">
<field column="pid" name="id"/>
<field column="name" name="product_name"/>
<field column="catalog_name" name="product_catalog_name"/>
<field column="price" name="product_price"/>
<field column="description" name="product_description"/>
<field column="picture" name="product_picture"/>
</entity>
</document>
</dataConfig>
4.在schema.xml中配置相关的域。(根据自己需要配置)
<!--product-->
<field name="product_name" type="text_ik" indexed="true" stored="true"/>
<field name="product_price" type="pfloat" indexed="true" stored="true"/>
<field name="product_description" type="text_ik" indexed="true" stored="false" />
<field name="product_picture" type="string" indexed="false" stored="true" />
<field name="product_catalog_name" type="string" indexed="true" stored="true" />
<field name="product_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="product_name" dest="product_keywords"/>
<copyField source="product_description" dest="product_keywords"/>
至此,数据导入就配置完成了。
如果数据导入显示完成,但是没有数据的请看这里,因为solr8改一些东西。
打开D:\Solr\solrhome\collection1\conf中的solrconfig.xml文件,把,add-schema-fields这删除就🆗了。
打开服务,输入http://localhost:8080/solr/index.htm