codecamp

Solr合并索引

合并索引

如果您需要合并来自两个不同项目的索引或以前在分布式配置中使用的多个服务器,则可以使用包含在lucene-misc或CoreAdminHandler中的IndexMergeTool 。

要合并索引,它们必须满足以下要求:

  • 这两个索引必须兼容:它们的架构应该包含相同的字段,并且它们应该以相同的方式分析字段。
  • 索引不得包含重复的数据。

理想情况下,两个索引应该使用相同的架构来构建。

使用IndexMergeTool

要合并索引,请执行以下操作:

  1. 确保您要合并的两个索引都已关闭。
  2. 发出这个命令:
    java -cp $SOLR/server/solr-webapp/webapp/WEB-INF/lib/lucene-core-VERSION.jar:$SOLR/server/solr-webapp/webapp/WEB-INF/lib/lucene-misc-VERSION.jar org/apache/lucene/misc/IndexMergeTool /path/to/newindex /path/to/old/index1 /path/to/old/index2
    这将创建一个包含index1和index2的新索引:/path/to/newindex。
  3. 将这个新目录复制到应用程序的solr索引的位置(当然,先将旧目录移到一边),然后启动Solr。

使用CoreAdmin

CoreAdminHandler的MERGEINDEXES命令可以用来将索引合并到一个新的核心中 - 可以从一个或多个任意的indexDir目录中合并,也可以通过一个或多个现有的 srcCore 核心名称进行合并。

有关详细信息,请参阅CoreAdminHandler部分。

合并Distribution和Replication
客户端API简介
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

SolrCloud

SolrCloud配置和参数

如何使用AsciiDoc

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }