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

           前面 我有一篇文章讲解了solr的配置 ,这里就不讲了 ,下面的配置是在solr已经成功整合到tomcat的前提下进行的 。

          进入正题

         1,修改solr-data-config。xml文件,内容如下:(PS:本文是以sqlserver数据库中的SSH 数据库的 users表来创建索引的,其users表中有id,name,pwd三个字段,均是varchar型,schema.xml文件我们type就配string 型)

    <dataConfig>
    <dataSource password="1234" user="sa" url="jdbc:sqlserver://127.0.0.1:1433;databaseName=SSH" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
        <document name="Info" pk="id">
            <entity name="zpxx"  transformer="ClobTransformer" pk="id"
                     query="SELECT  [ID],[name] as name  FROM [SSH].[dbo].[users]"       
                     deltaImportQuery="SELECT  [Id],[name] as name  FROM [SSH].[dbo].[users] where [PublishDate] > '${dataimporter.last_index_time}'"   
                     deltaQuery="SELECT  id FROM [SSH].[dbo].[users] where [PublishDate] > '${dataimporter.last_index_time}'">
               <field name="id" column="id"/>
               <field name="name" column="name"/>
               <field name="pwd" column="pwd"/>
            </entity>
        </document>
    </dataConfig>

    其中 :

          query是获取全部数据的SQL(solr从sql中获取那些数据),多列 

          deltaImportQuery是获取增量数据时使用的SQL(数据库新增数据追加到solr的数据),多列 

          deltaQuery是获取pk的SQL(数据库新增数据是,追加到solr的数据时的条件,根据id ,条件是最后一次获取的时间,${dataimporter.last_index_time,最后获取的时间}),一列

       2,修改schema.xml文件申明field,field的名字应该和sql的查询结果集列名一致;

          <--zx配置SSH库的field -->
        <field name="id"   type="string "   indexed="true"  stored="true"  multiValued="false" required="true"/>  
      <field name="name"   type="string"   indexed="true"  stored="true"  multiValued="false" />   
      <field name="pwd"  type="string"     indexed="true"  stored="true"  multiValued="false" />

    3,进入solr管理界面,command选择full-import全部导入;entity需要导入的实体也就是配置的哪个sql,点击execute执 行导入,如果数据很多的话需要导一段时间,不时的点一下refresh status刷新一下,看看导入是否完成,导入完成后会告诉你导入了多少数据,用了多少时间。(由于本人 还不会粘贴图片,带来的不便,请谅解);

  • 相关阅读:
    JAVA面试基础
    扔硬币问题
    随机数生成随机数
    囚犯猜帽子问题
    十道智力题(三)
    十道智力题(二)
    十道智力题(一)
    lintcode:排颜色 II
    机器学习中的几个常见概念(持续更新中......)
    如何打印一棵树(Java)
  • 原文地址:https://www.cnblogs.com/Zhong-Xin/p/5485562.html
Copyright © 2011-2022 走看看