zoukankan      html  css  js  c++  java
  • Solr6.5与mysql集成建立索引


    首先在solrconfig.xml(我的是保存在/usr/local/tomcat/solrhome/mycore/conf/下)的<requestHandler name="/select" class="solr.SearchHandler">之上添加

    (我的本地的solrconfig.xml中有这个/dtatimport 只需把class修改为下面的就可以了)
    <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">  
          <lst name="defaults">  
             <str name="config">data-config.xml</str>  
          </lst>  
    </requestHandler> 

    然后在conf的solr-data-config.xml文件。里面内容如下:


    <dataConfig>  
        <dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/user(数据库名)" user="root" password="root" batchSize="-1" />  
    		<document>  
            <entity name="news" pk="id"  dataSource="source1"   
                    query="select * from  news"  
                    deltaImportQuery="select * from news where id='${dih.delta.id}'"  
                    deltaQuery="select id from news where updateTime> '${dataimporter.last_index_time}'">  
      
    				<field column="id" name="id"/>  
    				<field column="title" name="title"/>  
    				<field column="synopsis" name="synopsis"/>  
    				<field column="updateTime" name="updateTime"/>  
    		</entity>  
    		</document>  
    </dataConfig> 

    dataSource是数据库数据源。Entity就是一张表对应的实体,pk是主键,query是查询语句。Field对应一个字段,column是数据库里的column名,后面的name属性对应着Solr的Filed的名字。其中user是数据库名,news是表名。
    其中deltaQuery是增量索引,原理是从数据库中根据deltaQuery指定的SQL语句查询出所有需要增量导入的数据的ID号。然后根据deltaImportQuery指定的SQL语句返回所有这些ID的数据,即为这次增量导入所要处理的数据。核心思想是:通过内置变量“${dih.delta.id}”和 “${dataimporter.last_index_time}”来记录本次要索引的id和最近一次索引的时间。

      然后把mysql所需的jar包(去下载相应的jar包)和solr-6.2.0dist下的solr-dataimporthandler-6.2.0.jar和solr-dataimporthandler-extras-6.2.0.jar都复制到项目WEB-INFlib下(该步骤在安装solr的时候已做)

    启动Tomcat,输入http://localhost:8080/solr/index.html按如下选择,





  • 相关阅读:
    6-4.粗体标签
    [Unity3D] 如何实现点击按钮退出游戏
    [Unity3D] 载入游戏地图时背景图片随机切换 & 数字百分比进度条
    [Unity3D] 鼠标点击图片移动效果
    [3DMAX]如何将骨骼与模型绑定在一起(蒙皮) & 如何实现自动化人物模型蒙皮
    [Unity 3D]用鼠标滚轮实现镜头放大和缩放,并添加距离限制
    [Unity3D] 如何实现围绕旋转
    [Unity3D] 如何实现注视旋转
    Css 图片自适应
    Scss 定义内层class的简单写法
  • 原文地址:https://www.cnblogs.com/paulversion/p/6828138.html
Copyright © 2011-2022 走看看