如何使SOLR系统自动AUTO COMMIT

2019-03-27 01:01|来源: 网路

在很多情况下,我们并不想自己主动触发COMMIT相应的XML给SOLR,这样带来很多的不便,恰好,SOLR通过配置文件可以自行在满足指定的条件下自动的COMMIT索引,同时,让前端检索实例可以检索到最新生成的数据,而不需要人为干预。

      方法很简单:找到solrConfig.xml文件

    

找到以下行,并增加以下配置

  1.   <updateHandler class="solr.DirectUpdateHandler2">  
  2.   
  3.   
  4.   <autoCommit>   
  5.   
  6.       <maxDocs>10000</maxDocs>  
  7.   
  8.       <maxTime>300000</maxTime>   
  9.   
  10. </autoCommit>  
  

 说明:

  • maxDocs:当内存索引数量达到指定值的时候,将内存的索引DUMP到硬盘中,并通知searcher类加载新的索引。
  • maxTime:每隔指定的时间段,自动的COMMIT内存中的索引数据,并通知Searcher类加载新的索引。
  • 以上两种方式,以最先达到条件执行为准。

转自:http://www.cnblogs.com/wycg1984/archive/2010/03/19/1690259

相关问答

更多
  • 方法很简单:找到solrConfig.xml文件 找到以下行,并增加以下配置 [xhtml] view plaincopy 10000 300000 说明: maxDocs:当内存索引数量达到指定值的时候,将内存的索引DUMP到硬盘中,并通知searcher类加载新的索引。 maxTime:每隔指定的时间段,自动的COMMIT内存中的索引数据,并通知Searcher类加载新的索引。 以上两种方式,以最 先达到条件执行为准。
  • 当然可以,git有几个概念你需要理解下,分别是仓库,缓冲区,工作区。我们看到的每一个提交(commit)都是仓库中的(在.git/目录下);我们checkout一个提交,看到的文件,都属于工作区,所以我们修改、增加、删除文件,其实都是在操作工作区;而每当我们checkout一个提交之初,都会有一个我们看不到的缓冲区,内容和工作区是一样的。当我们操作了工作区后,工作区和缓冲区内容就不一致了,这时候就需要用add/rm命令,将工作区的改动同步到缓冲区。而commit的时候,其实就是把缓冲区的内容进行提交,保存到 ...
  • 在进行合并时注意输出 - 它是说Fast Forward 在这种情况下,您要做: git merge v1.0 --no-commit --no-ff Note the output while doing the merge - it is saying Fast Forward In such situations, you want to do: git merge v1.0 --no-commit --no-ff
  • 在Hibernate手册中可以看到这个例子 Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); for ( int i=0; i<100000; i++ ) { Customer customer = new Customer(.....); session.save(customer); if ( i % 20 == 0 ) { //20, sa ...
  • PLay将在交易结束时自动提交。 如果您需要在事务中提交,请尝试以下方法: if (JPA.em().getTransaction().getRollbackOnly()) { JPA.em().getTransaction().rollback(); } else { JPA.em().getTransaction().commit(); } JPA.em().getTransaction().begin(); JPA.em().flush(); JPA.em().clear(); PL ...
  • 自动提交的目标是什么? 提交的目标是将阶段快照提交到项目历史记录 。 您应该能够回滚到特定的提交,因为此提交更改使您的项目变得肮脏或不稳定。 自动提交推送不是一个好主意,也不是git的角色。 Dropbox可能是一个更简单的解决方案。 What's the goal of auto commit ? The goal of a commit is to commits the staged snapshot to the project history. You should be able to roll ...
  • 可以使用自治交易。 CREATE TABLE t1 (x INTEGER PRIMARY KEY); CREATE TABLE t2 (x INTEGER); CREATE TABLE t3 (x INTEGER); CREATE TABLE t4 (x INTEGER REFERENCES t1(x)); 然后运行这个匿名PL / SQL。 仔细看,当声明它时,本地过程upd_table_3不会运行。 它在主BEGIN块中调用时运行: DECLARE PROCEDURE upd_table_3 I ...
  • 提交选项就在那里,只是它没有显示在主工作副本文件夹上,但是当你右键单击其中的svn子文件夹时它会显示。 The commit option is there, just that it doesn't show up on the main working copy folder but does show up when you right click on the svn sub-folder inside it.
  • 如果您有一些语句在上述块之前启动任何事务,则会发生此问题。 在我的情况下,从导致错误的同义词中进行了简单的选择。 在该事务之后添加提交后,块执行正常。 即使在你的情况下如果在下面的语句之前添加COMMIT之后执行没有错误,那么肯定会有一些你缺少提交的事务。 COMMIT; EXECUTE IMMEDIATE 'ALTER SESSION SET SKIP_UNUSABLE_INDEXES => TRUE'; EXECUTE IMMEDIATE 'ALTER SESSION DISABLE PARALL ...
  • git忽略: */data/* */dataimport.properties 例如: solr/development/data/* solr/development/conf/dataimport.properties dataimport.proporties包含最后一个索引时间和其他动态变量 #Thu Nov 17 16:21:03 GMT 2016 last_index_time=2016-11-17 16\:21\:03 development.last_index_time=2016- ...