solr与.net系列课程(八)solr中重跑索引的注意事项

 

solr与.net系列课程(八)solr中重跑索引的注意事项

我们如果在项目中使用solr,那肯定就是把数据库中的数据跑进solr服务器中,solr有两种操作一种是新建索引,一种是增量索引,这里我们来说一说新建索引的一下注意事项

终止跑索引                  http://192.168.0.9:8080/solr/collection1/dataimport?command=abort

开始索引                     http://192.168.0.9:8080/solr/collection1/dataimport?command=full-import

当我们第一次执行索引时,因为solr中没有数据,所以一切都会是按照我们想象的结果发生,但当我们需要重新执行索引的时候,在用上面的链接执行,就会出现一个问题,执行时是solr中的所有数据都消失了,然后在一点点的增加,这样肯定是不行的,因为当数据量很大是,执行一次索引要花费很长时间,这时用户登录你的系统就会发现你的数据不够,会出问题的,只有执行全部完成时数据才会完整,导致这个原因是因为solr默认的所以机制是,先移除原有的所有数据(其实是转移到另一个位置,当索引完成时在删除,索引异常时会回滚),然后在一条条的往里面跑,但是我们可以选择重跑索引时不移除数据,而是逐条覆盖原有数据,这样就不会影响用户使用的,但是会增加索引的时间,

执行语句为  http://192.168.0.9:8080/solr/collection1/dataimport?command=full-import&clean=false

在图形界面如下操作:

然后我们在来说一说多表索引的问题,当我们的数据是从多张表中获取的,如下

<dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://192.168.0.9;DatabaseName=test" user="sa" password="123"/>
<document name="Info">
<entity name=" test1 " transformer="ClobTransformer" pk="id" query="select id, name address,phone,class,addtime from tableA"
deltaImportQuery=" select id, name address,phone,class,addtime from tableA"
deltaQuery="SELECT id FROM tableA where adddate > '${dataimporter.last_index_time}'">
<field column="id" name="id" />
<field column="name" name="solrname" />
<field column="address " name=“address " />
<field column="phone " name="phone " />
<field column="class " name="class " />
<field column="addtime " name="addtime " />
</entity>
<entity name=" test2 " transformer="ClobTransformer" pk="id" query="select id, name address,phone,class,addtime from tableB"
deltaImportQuery=" select id, name address,phone,class,addtime from tableB"
deltaQuery="SELECT id FROM tableB where adddate > '${dataimporter.last_index_time}'">
<field column="id" name="id" />
<field column="name" name="solrname" />
<field column="address " name=“address " />
<field column="phone " name="phone " />
<field column="class " name="class " />
<field column="addtime " name="addtime " />
</entity>
</document>
</dataConfig>

这个数据源就是从tableA与tableB中获取数据,当然了,两张表的id不能重复,否则后进来的会覆盖先进入的数据,那么当我们只想重新索引其中一张表怎么办,

http://192.168.0.9:8080/solr/collection1/dataimport?command=full-import,这个语句会重跑所有的数据(两个table都会重跑),其实solr是可以根据entity的name单个索引的,其他表的数据不变

方法如下:

http://192.168.0.9:8080/solr/collection1/dataimport?entity=test1&command=full-import,当然也可以加上clean=false,

图形界面操作方式:

 
 
标签: .net solr

solr中重跑索引的更多相关文章

  1. solr与.net系列课程(八)solr中重跑索引的注意事项

    solr与.net系列课程(八)solr中重跑索引的注意事项 我们如果在项目中使用solr,那肯定就是把数据库中的数据跑进solr服务器中,solr有两种操作一种是新建索引,一种是增量索引,这里我们来 ...

  2. CDH使用Solr实现HBase二级索引

      一.为什么要使用Solr做二级索引二.实时查询方案三.部署流程3.1 安装HBase.Solr3.2 增加HBase复制功能3.3创建相应的 SolrCloud 集合3.4 创建 Lily HBa ...

  3. .Net程序员 Solr-5.3之旅 (三)Solr 从MSSQ导入索引数据

    阅读目录 引言 准备工作 data-config.xml schema.xml 导入数据 结尾 附件下载 引言 Other men live to eat, while I eat to live.- ...

  4. Airflow 重跑dag中部分失败的任务

    重跑dag中部分失败的任务 例如 dagA 中, T1 >> T2 >> T3 >> T4 >> T5  ,其中 T1 T2 成功, T3 失败, T4 ...

  5. 使用Oozie中workflow的定时任务重跑hive数仓表的历史分期调度

    在数仓和BI系统的开发和使用过程中会经常出现需要重跑数仓中某些或一段时间内的分区数据,原因可能是:1.数据统计和计算逻辑/口径调整,2.发现之前的埋点数据收集出现错误或者埋点出现错误,3.业务数据库出 ...

  6. solr入门之多线程操作solr中索引字段的解决

    涉及的问题: 建索引时有一个字段是该词语出现的次数,这个字段是放在solr里的  而我用的是多线程来进行全量导入的,这里就涉及到了多线程问题 多个线程操作同一个变量时怎样处理? 我是这样子做的 : 首 ...

  7. Solr 08 - 在Solr Web管理页面中查询索引数据 (Solr中各类查询参数的使用方法)

    目录 1 Solr管理页面的查询入口 2 Solr查询输入框简介 3 Solr管理页面的查询方案 1 Solr管理页面的查询入口 选中需要查询的SolrCore, 然后在菜单栏选择[Query]: 2 ...

  8. solr 4.4添加索引是新手容易遇到的问题

    solr 4.4添加索引是新手容易遇到的问题异常一.Exception in thread "main" java.lang.NoClassDefFoundError: org/a ...

  9. json数据处理实战:Kafka+Flume+Morphline+Solr+Hue数据组合索引

    背景:Kafka消息总线的建成,使各个系统的数据得以在kafka节点中汇聚,接下来面临的任务是最大化数据的价值,让数据“慧”说话. 环境准备: Kafka服务器*3. CDH 5.8.3服务器*3,安 ...

随机推荐

  1. quick-cocos2d-x教程8:程序框架内lib文件夹分析

    lib文件夹是如今全部文件夹中最复杂的,包括了整个运行所需的库文件.我们简单看下,在开发初期,不须要深入到这个库里去研究 cocos2d-x 文件夹就是c++版的原始文件 framework_prec ...

  2. 解决LINUX vncserver 启动 could not open default font &#39;fixed&#39;错.

    安装vncserver例如,会发生以下错误:  vncext:      VNC extension running!  vncext:      Listening for VNC connecti ...

  3. Putty设置自己主动两次登录

    有时你想登录到serverA,但serverA白名单,你刚刚从山寨机B登录了,所以每次你要登录到serverA.您必须先登录到山寨机B.然后登录到serverA. 我们能够用Putty的local p ...

  4. NSIS:延时启动软件的几个方法及探索

    原文NSIS:延时启动软件的几个方法及探索 有时候,我们想要某软件开机启动,但又不要拖慢开机速度,那么,延时启动技术就显得比较重要了.轻狂在这方面曾经研究过,也实现了自己想要的功能,看看我是怎么做的吧 ...

  5. docker搭建基础的tomcat应用

    tomcat server是眼下比較流行的开源中间件server,以下介绍怎样使用 docker 来做一个 tomcat 数据库服务.官方的仓里没有标 OFFICIAL 的 tomcat 的镜像,只是 ...

  6. jQuery.reveal弹出层使用

    最近用到弹出层,还得自定义UI,原本用的artDialog太庞大,不合适了,于是就找到了这个东西,又小又好用,基础的弹出遮罩都有了,想要什么还不是Coder自己说了算. 这个插件是基于Jquery实现 ...

  7. 手游client思考框架

    手游新公司新项目client我不太同意框架.虽然我也终于让步,当他居然问老板,使这个幼稚的行为而悔恨. 然而,就在最近我写了一些代码视图,我更坚定了自己的想法和思想.和思路不一定适合其它人,所以我并不 ...

  8. jquery中 $ 和 jQuery 及 $() 的差别

    用过jquery的人都知道,jquery有两种使用方法,一种是$,另一种是jQuery,那么这两种方式在使用上有什么差别呢? 答案是这两种使用方法没什么差别,仅仅是别名而已,用$要比jQuery简短一 ...

  9. JMeter 怎么保存登录状态

    在Recording Controller中添加一个HTTP Cookie Manager Recording Controller右键-->add-->config element--& ...

  10. OCP读书笔记(23) - 题库(ExamC)

    200.Which operation requires that you create an auxiliary instance manually before executing the ope ...