solr8.0 从数据库导入数据

Posted itdreamer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了solr8.0 从数据库导入数据相关的知识,希望对你有一定的参考价值。

第一步:导入相关包:

在创建的核心目录下新建lib文件夹(如果有,无需建立),从Solr源码包的dist文件夹中导入两个solr-dataimporthandler包,以及一个mysql驱动包。

 

第二步:编辑下边路径中的solrconfig文件(mycore1为自己所创建的核心文件夹):

技术图片

在文件末尾添加以下内容

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

然后再本目录下的data-config.xml进行如下编辑(没有则创建):

<?xml version="1.0" encoding="UTF-8" ?>

<dataConfig>
    <!-- 数据库信息 -->
    <dataSource type="JdbcDataSource" 
        driver="com.mysql.jdbc.Driver" 
        url="jdbc:mysql://localhost:3306/college_service" 
        user="root" password="mysql"/>
    <document>
        <!-- document实体 -->
        <entity name="news" query="SELECT * FROM news">
            <!-- 数据库字段映射solr字段 -->
            <field column="news_id" name="id"/>
            <field column="news_authorid" name="newsAuthorid"/>
            <field column="news_title" name="newsTitle"/>
            <field column="news_cover" name="newsCover"/>
            <field column="news_time" name="newsTime"/>
            <field column="news_browse" name="newsBrowse"/>
            <field column="news_schoolid" name="newsSchoolid"/>
            <field column="news_categoryid" name="newsCategoryid"/>
            <field column="news_abstract" name="newsAbstract"/>
            <field column="news_content" name="newsContent"/>
            
        </entity>
    </document>
</dataConfig>

 

然后在当前路径的managed-schema文件中加入相应的类型映射

<!--自定义的域-->
    <field name="newsAuthorid" type="string" indexed="true" stored="true"/>
    <field name="newsTitle" type="string" indexed="true" stored="true" />
    <field name="newsCover" type="string" indexed="false" stored="true"  />
    <field name="newsTime" type="pdate" indexed="false" stored="true"  />
    <field name="newsBrowse" type="pint" indexed="false" stored="true" />
    <field name="newsSchoolid" type="string" indexed="false" stored="true"/>
    <field name="newsCategoryid" type="string" indexed="false" stored="true"  />
    <field name="newsAbstract" type="text_ik" indexed="true" stored="true" />
    <field name="newsContent" type="text_general" indexed="false" stored="true"  />

 

登陆http://localhost:8983/solr/,进入以下模块,执行excute就导入数据了,没反应过来可以进行refresh status

技术图片

 

以上是关于solr8.0 从数据库导入数据的主要内容,如果未能解决你的问题,请参考以下文章

solr8.0 ik中文分词器的简单配置

solr8.0的简单搭建

Solr8.0搜索引擎: 教学视频-免费共享

如何用java导入Excel数据到数据库?

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

从单个按钮从多个片段中提取数据