zoukankan      html  css  js  c++  java
  • solr导入数据库数据

    solr是基于Luence的全文搜索引擎,它是基于web的应用,通过http的方式进行数据交互。它包括了与数据库集成、全文搜索、搜索词高亮、分组查询、地理搜索等功能。

    首先,说说solr如何从数据库导入数据。

    1、在core根目录下创建一个lib文件夹,将相关的数据库连接的jar放在该目录下。

    2、修改solrconfig.xml文件。

      新增lib引用,如下代码。第一个lib引用,是为了solr导入数据库数据所需要的包。第二个是连接数据库所需要的包。这里是以连接SQL Server数据库为例。如果需要连接MySQL,则引用连接MySQL的jar即可。

        <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*.jar" />
        <lib dir="./lib/" regex="sqljdbc4.jar" />
    

      将<schemaFactory>改为使用ClassicIndexSchemaFactory,如下代码。这是为了能调用schema.xml

    <schemaFactory class="ClassicIndexSchemaFactory" />
    

      添加dataimport的requestHandler,如下

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

    3、配置db-data-config.xml文件

    该文件是为了将数据库的字段与solr中的field做映射关系。在core的根目录新建该文件。文件类似如下:

    <dataConfig>
        <dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="" user="" password="" />
        <document>
            <entity name="resource" query="select id, title, content from resource">
                <field column="id" name="id" />
                <field column="title" name="title" />
                <field column="content" name="content" />
            </entity>
        </document>
    </dataConfig>
    

    4、配置schema.xml

    将core根目录下的managed-schema文件改名schema.xml。将db-data-config.xml中使用的filed添加到该文件中。在本文试验中,在schema.xml中已有名为id的field,因此添加如下field就好了。

    <field name="title" type="text_general" indexed="true" stored="true" />
    <field name="content" type="text_general" indexed="true" stored="true" />
    

      现在配置已完成,重启服务,在solr的管理界面,进入dataimport界面,如下图。点击“Excute”即可导入。在导入成功后,会显示“Added/Upadted”条数,即导入的总条数。

  • 相关阅读:
    noip模拟赛 集合
    noip模拟赛 旅行
    noip模拟赛 终末
    noip模拟赛 少女
    noip模拟赛 无题
    Java基础知识强化73:正则表达式之分割功能
    Java基础知识强化72:正则表达式之判断功能(手机号码判断 和 校验邮箱)
    Java基础知识强化71:正则表达式之基本规则 和 常用正则表达式
    Java基础知识强化70:正则表达式之引入案例(QQ号码校验)
    Java基础知识强化69:基本类型包装类之Character案例(统计字符串中大写小写以及数字的次数)
  • 原文地址:https://www.cnblogs.com/jeniss/p/5494004.html
Copyright © 2011-2022 走看看