`

Solr合并索引方式

    博客分类:
  • solr
 
阅读更多

1, Solr 合并索引数据有两种方法,第一种是 1.4 版本中引入的,通过 CoreAdminHandler 来实现,示例如下:

http://localhost:8983/solr/admin/cores?action=mergeindexes&core=core0&indexDir=/opt/solr/core1/data/index&indexDir=/opt/solr/core2/data/index

    上述命令会将 core1 core2 的索引合并到 core0 中去,这里最值得注意的一点是:一旦合并完成,必须在 core0 上调用 commit 操作,否则索引数据的变化对于 searchers 来说是暂时不可见的,只有等到下次 core0 重新装载起来时才可见。


  第二种方法是 Solr3.3 中引入的,也是通过 CoreAdminHandler 来实现,示例如下:

http://localhost:8983/solr/admin/cores?action=mergeindexes&core=core0&srcCore=core1&srcCore=core2

      同第一种方法一样, 一旦合并完成,必须在 core0 上调用 commit 操作,否则索引数据的变化对于 searchers 来说是暂时不可见的,只有等到下次 core0 重新装载起来时才可见。

      使用 ”srcCore” ”indexDir” 这两种方法的区别:

1)    使用 ”indexDir” 参数,你可以合并不是与 Solr 核相关联的索引数据,比如通过 Lucene 直接创建的索引

2)    使用 ”indexDir” 参数,你必须注意索引数据不是直接写入的,这就意味着如果它是一个 solr 核的索引,必须要关闭 IndexWriter ,这样才能触发一个 commit 命令。

3)    “indexDir” 必须指向 solr 核所在的主机上的磁盘路径,这就限制比较多了,而相反,你可以只给 srcCore 一个 solr 核的名称,而不关心它的实际索引路径在哪。

4)    使用 ”srcCore” ,你必须确保即使源索引数据同时存在写操作的时候,合并后的索引页不会损坏。

 

2,   solr 索引合并的时候,底层其实调用的还是 Lucene ,因此你 schema.xml 中配置的 uniqueKeys 它并不知道,因此当你对两个包含相同文档(由 uniqueKey 确定)的索引进行合并时,你会得到双倍的文档数, solr 这个地方应该改下,毕竟你不是简单的 Lucene 包装嘛。。。

  http://localhost:8080/searchserver/core0/update?commit=true

 

3,使用lucene的IndexMergeTool合并

java -classpath ./lucene-misc-3.4-SNAPSHOT.jar:./lucene-core-3.4-SNAPSHOT.jar org.apache.lucene.misc.IndexMergeTool  mergeIndex ./data/deal/index/ ./data_CJK/deal/index/

分享到:
评论

相关推荐

    跟益达学Solr5之索引文件夹下所有文件

    - 调整索引优化策略,如`optimize`操作可以合并索引段以提高搜索性能。 7. **监控与维护**: - 使用Solr的监控工具,如JMX或Solr提供的监控界面,查看索引状态、内存使用情况和查询性能。 - 定期执行清理任务,...

    Solr 学习笔记(五)-Solr扩展之分布式索引实例

    在分布式环境中的查询执行,Solr会自动处理跨节点的通信,将请求分解为子请求发送到各个节点,然后合并结果。这种并行处理大大提高了查询效率。 总结来说,Solr的分布式索引功能使得我们能够高效地处理大量数据,...

    索引合并策略

    通过定期合并索引,可以将这些小索引文件整合为一个或少数几个大文件,从而提高查询速度。 在上述代码中,`mergeIndex` 方法展示了如何在Lucene中进行索引合并。首先,我们创建了一个`IndexWriter`实例,传入了目标...

    solr资料以及问题汇总

    "博客园手机版-solr 优化索引成 2段或N段.htm"文件探讨的是Solr索引优化策略,索引分段可以提高查询效率,尤其是在大量数据插入后进行合并索引时。通过合理地分段,可以平衡索引大小、查询速度和资源消耗。 "教你...

    solr基础知识介绍

    Lucene的核心功能包括为文件中的每个单词建立索引,这种索引方式极大地提高了搜索效率,因为它不同于传统逐字比较的搜索方式。Lucene提供了多种API用于解析、过滤、分析文本,构建和使用索引。它的另一个显著特点是...

    solr入门java工程

    Java客户端是与Solr通信的一种常见方式,它允许开发者通过编写Java代码来执行索引操作、查询、更新和管理Solr实例。在“solr-example”这个压缩包中,可能包含了一个简单的Java示例项目,展示了如何使用SolrJ,这是...

    solr教材-PDF版

    - **1.4.3 solr的各包的说明**:Solr的各个包按照功能模块划分,如org.apache.solr.client包包含了客户端相关的类,org.apache.solr.update包则负责索引更新等功能。 **1.5 版本说明** - **1.5.1 1.3版本**:介绍...

    solr教程+实例

    1.2 Solr的主要功能:Solr不仅提供全文索引,还支持多种数据类型(如日期、地理位置等)的索引,且具备高效的查询性能和灵活的配置选项。 二、Solr架构 2.1 核心组件:包括索引、查询处理、文档处理、分布式搜索等...

    SOLR的学习资料

    5. **优化索引**:定期进行索引优化可以合并多个段文件,提高搜索效率,但会占用更多磁盘空间。 通过这份学习资料,初学者可以掌握SOLR的基本操作,并逐步探索其高级特性,为实际项目中的应用打下坚实基础。在实践...

    solr开发维护参考

    9. **优化与分析**:索引优化是定期进行的,以合并碎片并减少存储空间。同时,性能分析和调优也是维护工作的一部分,这涉及到内存设置、硬件配置和网络优化。 10. **日志与监控**:Solr提供了丰富的日志信息,配合...

    solr压缩包

    7. **优化与维护**:Solr提供优化索引、合并段(Merge Segments)和删除文档等功能,以保持索引的效率和空间利用率。同时,监控工具如SolrAdmin可以帮助用户查看索引状态、查询性能等信息。 8. **插件支持**:Solr...

    solr-6.6.0压缩包

    - 索引优化:`bin/solr optimize`命令可以合并小段,提高搜索效率。 - 缓存策略:调整查询缓存和过滤器缓存设置,提升查询速度。 - 配置硬件资源:根据实际负载调整内存和磁盘资源。 8. **SolrCloud** - 在Solr...

    solr_开发入门例子

    - 索引优化:定期执行`optimize`操作,合并多个段以提高查询性能。 4. **查询与搜索** - 查询API:Solr提供基于HTTP的RESTful API进行查询,支持多种查询语法,如标准查询解析器(QParser)和Lucene查询语法。 -...

    跟益达学Solr5之使用Tika从PDF中提取数据导入索引

    批量处理允许一次性上传多个文件,而优化索引则可以合并碎片,提升查询效率。 最后,测试和监控是关键。在部署了这种集成后,你需要验证索引是否正确地反映了PDF文档的内容,同时监控Solr和Tika的性能,确保系统在...

    最新版linux solr-8.5.2.tgz

    4. 索引优化:定期进行 optimize 操作,合并索引碎片,提高查询速度。 总结,Linux Solr 8.5.2 提供了强大的全文搜索和分析能力,适用于企业级的大数据应用场景。通过合理的配置和优化,可以构建出稳定、高效的搜索...

    solr实现的搜索引擎

    Solr提供实时添加、删除和更新文档的能力,但为了提高性能和减少资源消耗,定期进行索引优化(即合并小段)是必要的。另外,监控Solr的日志和性能指标,以及定期备份和恢复策略也是运维的关键。 8. **高级特性** ...

    solr开发应用教程

    索引优化是提高查询性能的关键,包括合并段、删除文档等操作。 四、查询与结果展示 Solr提供了丰富的查询语法,如布尔运算符、短语匹配、模糊匹配等。通过`q`参数指定查询字符串,其他参数如`fl`用于指定返回字段,...

    solr技术文solr技术文

    10. **优化与重建索引**:Solr允许对索引进行优化,合并多个段以减少索引碎片,提高查询效率。同时,当数据源发生更改时,可以完全重建索引。 以上只是Solr技术文档中部分核心概念的概述,实际文档会更详细地解释每...

Global site tag (gtag.js) - Google Analytics