- 浏览: 7339678 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
问题:
目前索引里面已经有1000多万的数据了,现在需要每几分钟就增量得添加新的内容到索引中。
但是,我发现新加入索引后,整个索引结构都要重新调整。非常耗时(长达半个小时)。
不知道大家有没有什么比较好的办法,加快这个过程?
回答:
我觉得用lucene做,一个原则索引里面尽量少存储,索引文件小了,optimize要移动的数据块也小。
还有Lucene实在不适合做实时,有一个办法,将新索引建在内存中,新建在内存上的searcher与硬盘索引searcher合并为MutliSearcher提供给前端搜索,内存到达一定量时再后台合并到主索引上,合并完成用新的Searcher替换MutliSearcher。
Lucene2.3已经放出来了,添加了很多新功能,可以去看看
大量索引的更方案: 索引分开, 周索引,月索引,全部索引
提高搜索性能方式
搜索 |
评论
你说一个索引里面尽量少存储。
就是当文本文档不存储的情况下,要怎么做高亮好了,怎么提取摘要?
谢谢!!
呵呵 经常关注你博客!
如果你的数据每天有2G,其实你的问题可以采用分布式的,先各个建立索引然后合并一起索引,但是这个也不是必需的。。也可以由其他方式:如有的网站采用多个搜索引擎分别检索查询,然后合并一起。。
我不敢说了解多少,但是我以前在华为移动项目中使用,现在经常关注这方面,我也知道一些大的搜索引擎也不是天天实时更新的如果google等,google大约28天整体搜索一次。
针对基于数据库中数据的搜索引擎那么就实时更新很正常如采用compass等。
有个问题请教一下,每天的索引有2G,如果每次查询跨度是一个月,查询方式应该怎么设计?
数据量蛮大的,不知是新增的的多还是更新的多,如果有这么大的数量,考虑用分布式了,以后可以动态增加机器
发表评论
-
Lucene全文搜索框架
2009-11-09 17:16 36161 lucene简介 1.1 什么是luc ... -
compass的开发應用JPA+Compass整合
2009-10-10 17:21 2505查询结果的高亮显示: 采用的是JPA的注解方式, 首 ... -
Compass 實用中扩展應用
2009-10-10 14:12 29301 Compass中的操作通过CompassSession我 ... -
Spring ,JPA,Compass使用注解开发的博客站内搜索
2009-10-10 12:54 3923当一个网 ... -
Web搜索引擎技术
2009-09-25 13:38 2662一、Web搜索引擎技术综 ... -
搜索引擎技术原理
2009-09-25 13:37 2640一、搜索引擎的分类 ... -
搜索计算的规则
2009-05-15 10:28 2191面向Web应用的网页预处理2003年12月3日(讲稿由张志刚协 ... -
用 Lucene 加速 Web 搜索应用程序的开发
2009-05-02 09:18 20382006 年 9 月 06 日 Lucene 是基于 Jav ... -
用 Lucene 加速 Web 搜索应用程序的开发
2009-05-02 09:17 18342006 年 9 月 06 日 Lucene 是基于 Jav ... -
搜索引擎基本工作原理
2009-05-02 07:48 2056搜索引擎基本工作原理 了解搜索引擎的工作原理对我们 ... -
搜索引擎蜘蛛工作原理
2009-05-02 07:46 2586网站能在搜索引擎被搜 ... -
luence学习的指南文档(五)
2009-03-17 17:00 26696.搜索引擎的性能考虑信息: 索引数字:针对数字的检索 ... -
luence学习的指南文档(三)
2009-03-17 16:58 22723. 使用场合:多个搜索引擎查询的数据结果的合并信息操作:添 ... -
luence学习的指南文档
2009-03-17 16:56 29772.代码使用场合:在搜索引擎检索索引目录的中的信息 /** ... -
luence学习的指南文档
2009-03-17 16:54 2226搜索引擎学习总结(实战和使用场合) 备注以下代码使用的环境为 ... -
揭开神秘面纱,搜索引擎原理浅析
2009-03-17 16:10 1927在浩如烟海的Internet上,特别是其上的Web(World ... -
lucene全文检索应用示例及代码简析
2009-03-17 16:02 2142Lucene是apache软件基金会 jakarta项目组 ... -
关于lucene的学习笔记liui :转关于luncene 内层的研究
2009-03-17 15:59 2422现在已经不用去研究那些代码,但还是分享出来给大家以帮助。谢谢1 ... -
lucene 自定义SORT
2009-03-17 15:54 3237如欲转载,请注明作者 ... -
限制lucene的遍历结果.
2009-03-17 15:54 2816Lucene Hack之通过缩小搜索结果集来提升性能 作者:c ...
相关推荐
- **索引构建**:使用IndexWriter类创建和更新索引,将数据源(如数据库、文件系统等)中的内容导入Lucene索引。 - **查询执行**:通过QueryParser或直接构建Query对象来构造查询,然后使用IndexSearcher类执行查询...
首先,由于完全依赖于内存,其容量受到系统内存的限制,无法处理大规模的数据。其次,一旦程序关闭,内存中的索引会丢失,这限制了它的持久性。为了解决这个问题,开发者通常会在程序运行过程中定期将内存索引写入...
本文将深入探讨Lucene 8.5.1在Windows系统中的核心特性、安装步骤、使用技巧以及常见问题的解决方法。 一、Lucene 8.5.1概述 Lucene 8.5.1是Lucene项目的一个重要里程碑,它引入了多项优化和改进,包括更快的搜索...
Linux Lucene 8.6.1 是一个针对文本搜索和索引的开源库,它在Linux平台上被广泛使用。Lucene是Apache软件基金会的一个项目,为开发者提供了强大的全文搜索引擎功能,使得开发人员能够轻松地在应用程序中集成高级的...
它基于前缀词典的动态扩展词典方式,能够较好地解决新词识别问题。IKAnalyzer对Lucene的集成使得开发者能够在Lucene中方便地使用中文分词,提高了中文搜索的准确性和效率。 在使用Lucene 4.7时,开发者通常需要以下...
6. **实时索引**:Lucene支持动态更新索引,即使在大量数据变化的情况下,也能快速地将新内容纳入索引,保持搜索结果的实时性。 7. **多语言支持**:Lucene内置了多种语言的分词器,能处理包括中文在内的多种语言的...
5. **内存管理优化**:为了处理更大规模的数据,8.6.0可能对内存使用进行了优化。 6. **文档处理**:可能增加了对不同文档格式的支持,如PDF、DOCX等。 **使用Lucene-8.6.0的步骤** 1. **安装JDK**:首先确保系统...
2. **内存与磁盘管理**:合理配置Directory类型,如内存目录用于小规模索引,而文件系统目录适用于大规模数据。 3. **并发控制**:在多线程环境下,正确管理和同步IndexWriter和IndexReader。 4. **缓存策略**:利用...
5. **内存优化**:Lucene.Net在内存管理和缓存策略上进行了优化,能在大规模数据集上保持良好的性能。 6. **多线程支持**:Lucene.Net设计时考虑了多线程环境,支持并发索引和搜索操作,适用于高并发的Web应用。 7. ...
Lucene 4.6.0是其发展历史中的一个重要版本,对之前的版本进行了诸多改进和优化,使得在处理大规模数据索引和搜索时表现更佳。 一、Lucene核心概念 1. 文档(Document):在Lucene中,文档是搜索的基本单位,可以...
- **硬件需求**:随着数据量的增长,索引和搜索可能会对硬件性能提出更高要求。 - **分词准确性**:不同语言的分词策略不同,选择合适的分词器对搜索结果至关重要。 - **性能调优**:根据实际应用场景调整Lucene...
5. **分布式搜索**:随着数据量的增长,单机Lucene已无法满足需求,因此书中会介绍如何利用Solr或Elasticsearch等工具进行分布式部署,实现大规模数据的搜索。 6. **性能优化**:讨论了索引和查询性能的优化技巧,...
它的内存管理策略和磁盘I/O优化使得在大数据量下依然能提供出色的响应时间。 **3. 分布式搜索** Lucene.Net支持分布式搜索,这意味着多个服务器可以共享索引,共同处理查询,提高系统的可用性和扩展性。这对于大型...
在Lucene 8.9.0中,包含了一系列重要的更新和改进,这些更新旨在提升性能、增加新特性并修复已知问题。以下是一些关键知识点: 1. **性能优化**:Lucene 8.9.0进行了大量的性能优化,包括更快的索引和搜索速度,...
磁盘索引可以实现大数据量的搜索,而内存索引则提供更快的检索速度。 5. **更新与删除**:Lucene 允许动态更新索引,如添加新文档、修改已有文档或删除文档。这使得实时搜索成为可能。 6. **多语言支持**:Lucene ...
SSM(Spring、SpringMVC、MyBatis)与Lucene是两个在Java开发中非常重要...通过合理的集成和优化,可以有效解决大数据量下的搜索难题。在实际开发中,理解并熟练掌握这些技术,对于提升项目的质量和效率具有重要意义。
- **数据经常需要更新但数据量不大**:对于此类情况,可以采用增量更新的方式,即只对新增或修改的部分进行索引更新,而不是重建整个索引,这样可以显著减少索引建立的时间。 - **数据经常需要更新且数据量巨大**...
1. **性能提升**:3.0.3版本在搜索速度和内存使用上进行了优化,尤其在处理大量文档时表现更佳。 2. **多线程支持**:增强了对多线程环境的支持,允许多个线程并发写入和读取索引,提高了索引构建和查询效率。 3. ...
9. **查询优化**:通过改进查询执行策略,Lucene 7.2 可能能够更快地返回结果,尤其是在大数据量下。 10. **内存管理**:为了适应不同的硬件环境,新版本可能会有更智能的内存分配策略,降低内存占用,提高系统效率...
《Lucene in Action》第二版是关于Apache Lucene搜索引擎库的权威指南,专注于讲解Lucene 3.0版本。这本书由Michael McCandless、Erik Hatcher和Otis Gospodnetić共同撰写,深入浅出地介绍了如何利用Lucene进行高效...