`

lucene打开文件的数量

阅读更多

lucene在执行索引和检索时能同时打开多个文件,打开多个与共同使用一个有多大的区别?

 

在索引时能否对同一文件进行并发打开?

 

在检索时并发打开一个文件与公用一个打开句柄,哪个性能更好?

 

导致文件打开过多的可能用法:

 

Why am I getting an IOException that says "Too many open files"?

The number of files that can be opened simultaneously is a system-wide limitation of your operating system. Lucene might cause this problem as it can open quite some files depending on how you use it, but the problem might also be somewhere else.

  • Always make sure that you explicitly close all file handles you open, especially in case of errors. Use a try/catch/finally block to open the files, i.e. open them in the try block, close them in the finally block. Remember that Java doesn't have destructors, so don't close file handles in a finalize method -- this method is not guaranteed to be executed.

  • Use the compound file format (it's activated by default starting with Lucene 1.4) by calling [WWW] IndexWriter's setUseCompoundFile(true)

  • Don't set [WWW] IndexWriter's mergeFactor to large values. Large values speed up indexing but increase the number of files that need to be opened simultaneously.

  • If the exception occurs during searching, optimize your index calling [WWW] IndexWriter's optimize() method after indexing is finished.

  • Make sure you only open one IndexSearcher, and share it among all of the threads that are doing searches -- this is safe, and it will minimize the number of files that are open concurently.

  • Try to increase the number of files that can be opened simultaneously. On Linux using bash this can be done by calling ulimit -n <number> .

分享到:
评论

相关推荐

    Lucene读取索引文件

    一个Lucene索引是由多个文件组成的,包括但不限于 segments文件、.del文件(删除文档标记)、.tii和.tis文件(Term Info Index和Term Info postings)、.frx、.fdx、.fdt、.fdt(Field Data)等。这些文件共同构成了...

    lucene 3.6 检索文件 pdf word ppt excel txt html xml

    这个过程通常包括打开检索目录,读取文件内容,解析出关键词,然后将这些信息写入索引。 在文件检索阶段,Lucene支持深度分页检索。这意味着用户可以请求大量的结果,并按页浏览,而不会一次性加载所有数据,这样既...

    Luke-Lucene Index Toolbox

    Luke能够帮助我们查看这些索引的细节,包括字段信息、文档数量、词项(Term)、词典(Dictionary)、文档频率、TF-IDF值等。通过这些信息,我们可以更好地优化搜索性能,例如调整分词策略、设置相似度算法等。 Luke...

    luke--- lucene索引数据查看器

    - **索引浏览**:Luke允许用户查看索引的文档数量、字段列表以及每个字段的详细信息,包括类型、是否可搜索、是否可存储等属性。 - **文档预览**:可以查看单个文档的全部内容,包括文本和非文本数据,这对于调试和...

    lucene的排序过滤和分页.zip

    3. **结果处理(Result Handling)**:获取`TopDocs`对象,包括匹配的文档数量和评分,以及`ScoreDocs`对象,包含每个匹配文档的详细信息。 4. **优化(Optimization)**:定期进行索引优化,合并段以减少打开索引...

    Lucene 搜索方法(模糊搜索)

    一旦索引建立完成,就可以使用`DirectoryReader.open(indexDir)`打开索引,并用它创建`IndexSearcher`进行搜索。 源码分析方面,`FuzzyQuery`类在Lucene的`org.apache.lucene.search`包下,其内部实现了模糊匹配的...

    luke-7.1.0 lucene索引查看工具

    2. **性能优化**:分析索引大小、文档数量,调整索引策略以提高搜索效率。 3. **数据迁移**:在迁移Lucene索引到新环境时,确认索引的完整性和一致性。 4. **教育研究**:学习Lucene工作原理,了解全文检索技术。 ...

    lucene专业名称分析概述

    默认情况下,当Segment的数量达到一定的阈值(默认为10)时,Lucene会自动进行Segment合并,形成一个新的复合Segment,以优化读取性能和减少文件数量。 在理解和使用Lucene时,了解这些专业术语和机制至关重要,...

    lucene基础总结

    - 当调用`IndexWriter.deleteAll()`方法时,Lucene会创建一个名为`write.lock`的文件来锁定原索引文件,防止其他进程同时修改索引。该文件通常存储在索引目录中。 - 如果锁目录与索引目录不同,则写锁文件名会带有...

    lucene.net基本应用(doc)

    - `hits.Length()` 返回匹配文档的数量,`searcher.Reader.NumDocs()` 返回索引库中的总文档数。 - 遍历 `Hits` 集合,获取每个匹配文档的 `DocId`、`FieldName` 和 `FieldValue`,以及文档的分数(`Score`)。 4...

    Lucene 索引图形化界面工具 LukeAll 3.5~4.0

    1. **索引浏览**:LukeAll 可以打开并显示 Lucene 索引的详细信息,包括字段列表、文档数量、分词结果等。用户可以通过这个界面查看每个文档的具体内容,以及每个字段的值。 2. **字段分析**:工具支持对字段的分析...

    Nluke 源码 Lucene.net

    4. **段管理(Segment Manager)**:Lucene.NET将索引分成多个段,Nluke展示了这些段的信息,包括段的大小、文档数量、是否合并等,帮助我们理解段管理策略。 5. **查询执行(Query Executor)**:Nluke还支持执行查询...

    lucene-api.rar_lucene

    4. **排序与评分**:Lucene使用TF-IDF算法计算文档与查询的相关性,为每个匹配的文档打分。 5. **分页与高亮**:可以设置搜索结果的显示数量,并使用Highlighter对匹配的查询词进行高亮。 ### 4. Lucene中文处理 ...

    Lucene中文件格式介绍

    这是索引的段信息文件,记录了当前索引中的所有段以及它们的元数据,如段的大小、文档数量、删除文档状态等。每次添加或更新文档后,Lucene会创建新的段,并更新此文件。 3. **.doc** 每个段都有一个`.doc`文件,...

    luke lucene索引查看

    1. **索引浏览器**:Luke允许用户打开并查看Lucene索引目录,展示了索引的基本结构,包括字段、文档数量、存储方式等信息。用户可以通过它来浏览每个文档的详细内容,如字段值、ID、文档长度等。 2. **字段信息**:...

    Lucene 原理与代码分析

    在索引文件格式方面,Lucene定义了一套独特的文件格式,这包括了索引文件的结构、索引的类型和索引的规则。文档数据的存储方式有正向信息和反向信息之分,正向信息包括段元数据、域元数据和词向量数据,而反向信息...

    lucene3.5学习笔记

    - 控制每页显示的文档数量。 **4.3 高亮显示** - 对搜索结果中的关键词进行高亮显示。 - 支持自定义高亮样式。 **4.4 分词器** - **IKAnalyzer**: 支持中文分词。 - **MMSEGAnalyzer**: 另一种常用的中文分词器...

    Mdrill项目在lucene的改进上的10点心得1

    原始Lucene在打开索引时需要加载TI文件,这在处理大量索引时既耗时又消耗内存。Mdrill改变了TI文件的处理方式,减少了加载开销,并降低了内存需求。具体实现是通过改变TI文件的结构,使其能在需要时按需加载,而不是...

    lucene站内搜索引擎

    - **IndexReader**:索引读取器用于打开已存在的索引,提供查询和文档检索功能。 - **Searcher**:搜索器执行查询并返回匹配的文档,包括查询解析、评分和排序。 - **QueryParser**:查询解析器将用户输入的查询...

Global site tag (gtag.js) - Google Analytics