`
ruvuoai
  • 浏览: 95732 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

建立索引时要考虑的事情

阅读更多
创建索引对象后,如:

IndexWriter indexWriter = new IndexWriter(indexDir,						new StandardAnalyzer (),true);


紧跟着要执行:
indexWriter.setCompoundFile(true);

true:
在创建索引时,会合并多个segments 文件到一个.cfs文件中.此方式有助于减少索引文件数量.

如果lucene的索引目录下出现了很多文件, 肯定是有问题的. 几个方面.首先lucene在执行写操作时, 会先在目录下写如一个write.lock的文件锁定这个目录,以避免别的索引再操作这个路径. 否则那样肯定会乱. 锁定之后, 开始写索引, 写索引时lucene建了几个或者几十个临时片段文件, 都似乎又短又乱的字符.cfs的文件. 当索引建立完毕后,没有执行 indexWriter.optimize();方法, 他就不会合并那些乱七八糟的文件. 所以,索引建完后, 一定要执行 上面的优化方法, 保持目录下保留3个文件即可. 也就是很多临时文件会合并到一个文件中去. 切不可大意删除. 但当数据很多时, 另行考虑策略.
分享到:
评论

相关推荐

    SQL语名优化说明

    25. 考虑不为某些列建立索引 不是所有的列都需要建立索引,对于数据变动频繁或者数据量小的列,建立索引可能不会带来明显的性能提升。 26. 惯用的一些技巧 掌握SQL语句的常见优化技巧,比如查询重写、条件简化等,...

    五种提高 SQL 性能的方法

    - **索引优化**:为经常参与`LEFT JOIN`操作的列建立索引,减少查询时间。 - **使用EXISTS代替LEFT JOIN**:在某些情况下,可以考虑使用`EXISTS`子句替代`LEFT JOIN`,尤其是在只需要检查是否存在匹配项而不是返回...

    oracle性能优化

    选择性高且频繁出现在WHERE子句中的列最适合建立索引。同时,考虑使用复合索引、函数索引、位图索引和全局分区索引,根据实际需求进行选择。 3. 表设计:合理的数据模型设计对性能至关重要。例如,通过范式化减少...

    generator-andy:Andy帮助您快速创建配置良好,行为良好的Android应用程序(以及项目库!)。 它是Android KickstartR项目的精神继任者,但已更新到现代!

    等等,直到Android Studio为所有内容建立索引。 开始编辑build.gradle以添加依赖项,然后自定义部署代码和配置(并想着为什么有些事情不能按预期工作!)… 开始编码! 介绍... ANDY! Andy可以帮助您快速创建...

    jpa性能优化ppt

    确保经常用于查询的字段都已建立索引。 4. **使用命名查询**:尽可能使用命名查询,它们可以预编译并重用,从而减少执行计划的创建时间,提高性能。 5. **读取查询的事务管理**:为“只读”查询使用事务,可以...

    SQL 习惯性优化.doc

    #### 二十五、考虑不为某些列建立索引 - **优化建议**:对于经常更新且很少用于查询的列,不必建立索引。 - **示例**:`CREATE TABLE table (id INT PRIMARY KEY, column VARCHAR(255));` #### 二十六、惯用的一些...

    SQL专家回答

    - **过滤索引**:通过WHERE条件过滤数据行,仅对满足条件的行建立索引,适用于稀疏数据。 - **全文索引**:支持对文本、备注和图像列进行全文搜索,增强了搜索功能。 - **XML索引**:用于索引XML数据类型的列,提高...

    VC++中句柄与指针的区别

    Windows为每个应用程序建立一张表,实例句柄就好象是这张表的一个索引。 句柄所指的可以是一个很复杂的结构,并且很有可能是与系统有关的,比如说上面所说的线程的句柄,它指向的就是一个类或者结构,他和系统有很...

    使用mysql的disctinct group by查询不重复记录

    可以使用索引来提高查询速度,特别是对`GROUP BY`和`ORDER BY`涉及的列建立索引。在选择聚合函数时,也要考虑到其对性能的影响,例如,`MIN`和`MAX`通常比`AVG`和`SUM`更快。 总之,`DISTINCT`和`GROUP BY`是MySQL...

    thejobist-archive:每个在线工作板的列表,策划和排名

    在构建时将站点构建到索引页面中,而不是运行 建立一个 CRUD 决定是否所有的 js 都应该是一件巨大的事情,或者不 考虑去除对 jquery 和把手的依赖 考虑使用 normalize === #第4-6天 少量繁重的工作 === #第3天###...

    2009达内SQL学习笔记

    可转化为日期、字符、数值等三种(注意:转化时,两参数必须要同类型) 如:NVL(date, '01-JAN-95') NVL(title,'NO Title Yet') NVL(salary,0) 错误写法: Select last_name,title,salary*commission_pct/100 COMM ...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    Karen Morton及其团队在本书中提供了专业的方案:先掌握语言特性,再学习Oracle为提升语言效率而加入的支持特性,进而将两者综合考虑并在工作中加以应用。作者通过总结各自多年的软件开发和教学培训经验,与大家...

    winslowb:只是针对个人的README.md

    当我们彼此参与时,我会优先考虑倾听而不是说话。 我尊重您的时间和精力来阅读我的通讯。 还是选择了一种声明式的写作方式。 如果可能,我会限制使用数字更合适的词。 使用Slack时,我不太正式。 我知道即时消息...

    内存管理内存管理内存管理

    调用之后,我们需要做的是诸如将它们标记为未被使用的等事情,并且,在调用 malloc 时,我们要能够定位未被使用的内存块。因此,malloc 返回的每块内存的起始处首先要有这个结构: 清单 3. 内存控制块结构定义 ...

    SEO搜索引擎优化高级教程

    - 评估链接质量时,要考虑链接来源的多样性和相关性。 - **2.1.3 链接影响PR值** - PR值(PageRank)是谷歌评价网页重要性的算法之一,高质量的外链有助于提升PR值。 **2.2 让搜索引擎知道新网站** - **2.2.1 ...

    VB6.0下连接SQL

    - **性能优化**:对于大型应用程序,可以考虑使用事务处理、索引优化等技术来提高性能。 - **兼容性**:随着技术的发展,建议考虑使用更现代的技术栈,如 .NET Framework 或 .NET Core。 #### 十、总结 通过上述...

    〈Java开发手册(泰山版)〉灵魂13问.rar

    - 避免在循环中创建不必要的对象,如使用`StringBuilder`而非`String`进行字符串拼接。 - 理解JVM内存模型,合理设置堆内存大小,避免频繁的垃圾回收。 - 使用`Arrays.copyOf()`或`ArrayList`进行数组复制,避免...

    C#微软培训资料

    2.2 公用语言运行时环境与公用语言规范.13 2.3 开 发 工 具 .17 2.4 小 结 .19 第三章 编写第一个应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 ...

    Oracle之路与数据库优化.pdf

    3. **系统优化**:性能优化涉及数据库参数调整、索引策略、查询优化等多个方面,需综合考虑,实现整体性能提升。 ### Oracle优化概论 文档中提到的Oracle系统结构包括实例、SGA(共享全局区)、Redo Log、Buffer ...

Global site tag (gtag.js) - Google Analytics