`
itace
  • 浏览: 181345 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Lucene updateDocument注意问题

 
阅读更多

lucene修改索引updateDocument,表象是一直没有更改结果,可能受限于indexreader和indexwriter不能同时开启!

解决方案:将要更改的document对象克隆一份(indexreader和indexwriter可能不能同时操作同一个对象例如Field),然后根据term使用deleteDocument先删除之前的doc,然后把克隆的Document通过addDocument添加进去,以实现updateDocument的修改索引的目的!

分享到:
评论

相关推荐

    Lucene全文检索案例

    使用`IndexWriter`的`updateDocument()`方法可以替换现有文档,而`deleteDocuments()`方法允许删除匹配特定查询条件的文档。 7. **优化与性能** 为了提高检索性能,可以定期执行索引合并(`optimize()`),但这...

    Lucene-2.3.1 源代码阅读学习

    - **UpdateDocument**:替换已存在文档,而不是删除后再新建,节省空间和时间。 6. **内存与磁盘结构** - **FieldCache**:缓存文档字段值,提高查询速度,但需注意内存使用。 - **RAMDirectory**:内存中的索引...

    Lucene项目案例

    如果已有索引,可以使用`updateDocument()`更新已有文档。 4. **关闭索引(Closing the Index)**: 添加完所有文档后,别忘了调用`IndexWriter.close()`来确保索引被正确地写入磁盘。 **三、查询索引(Searching)...

    Apache Lucene全文检索和IKAnalyzer分词工具类

    indexWriter.updateDocument(term, doc); /**optimize()方法是对索引进行优化 **/ indexWriter.optimize(); indexWriter.close(); } /** * 创建索引(多个) * @param list * @throws Exception ...

    lucene增删改查小demo

    **Lucene 增删改查小 Demo** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发。它提供了完整的搜索功能,包括...同时,需要注意的是,实际应用中应考虑并发控制、性能优化以及错误处理等方面的问题。

    lucene-3.6.1-src

    8. **更新与删除(Update & Delete)**:Lucene允许动态地更新或删除索引中的文档,但要注意这可能导致索引碎片,需要定期进行优化(`Optimize`)操作以保持最佳性能。 9. **多线程支持**:Lucene设计时考虑了多...

    Lucene实现索引和查询的实例讲解

    Lucene的索引建立可以通过IndexWriter类实现,IndexWriter类提供了多种方法来建立索引,包括addDocument方法、updateDocument方法、deleteDocument方法等。 Lucene的查询可以通过Searcher类实现,Searcher类提供...

    Lucene.rar

    2. **更新文档**:使用`updateDocument(Term term, Document doc)`,通过Term(代表唯一标识符)来替换现有文档。 3. **删除文档**:通过Term或Query删除文档,确保数据的实时性。 4. **优化索引**:`optimize()`...

    lucene的curd

    注意,索引的建立是在硬盘上生成的一系列文件,需要选择合适的目录并配置好相应的参数。 ```java Directory directory = FSDirectory.open(Paths.get(indexDir)); Analyzer analyzer = new StandardAnalyzer(); ...

    ElasticSearch代码实例C#

    Elasticsearch(简称ES)是一种基于Lucene的分布式、RESTful搜索分析引擎,广泛应用于大数据检索、日志分析、实时监控等领域。在C#开发环境中,我们可以借助Nest或Elasticsearch.Net这两个官方支持的客户端库来与ES...

    solr增量导入更新索引包

    - **Update Handler**:Solr提供了多种Update Handler,例如Direct Update Handler和Document Update Handler,它们接收单个文档或者批量文档的更新请求,然后进行相应的索引更新,而无需重新构建整个索引。...

    springboot整合es-elasticSearch.zip

    Elasticsearch 是一个基于 Lucene 的开源分布式搜索引擎,支持实时分析的搜索功能。它提供了一个分布式、多租户的全文搜索引擎,具有高可用性和可扩展性,广泛应用于日志分析、监控、推荐系统等领域。 3. **Spring...

    day07-Elasticsearch03

    Elasticsearch(ES)是基于Lucene构建的,它以其高效、可扩展性和实时分析能力而备受青睐。在这个阶段的学习中,我们将重点关注Elasticsearch的核心概念、安装与配置、数据索引与查询以及集群管理等方面的知识。 ...

    solr.md Solr是一个高性能,采用Java开发

    它基于Apache Lucene库构建,支持分布式检索和复杂的搜索特性,如拼写检查、同义词处理等。 #### 二、Solr的基本使用流程 1. **启动Solr服务**:根据描述中的步骤,首先需要进入到Solr的`bin`目录下,并通过命令行...

    python3实现elasticsearch批量更新数据

    Elasticsearch是一个高度可扩展的开源搜索引擎,它建立在Apache Lucene之上。它以全文搜索为中心,支持多种类型的数据,包括结构化数据、非结构化数据等。它的分布式特性使其能够在多台服务器上存储和处理大量的数据...

    Python中elasticsearch插入和更新数据的实现方法

    Elasticsearch是一个基于Lucene构建的开源搜索引擎,其具有分布式多用户的特性,可以提供实时搜索服务。Python作为广泛使用的编程语言之一,在数据处理和接口操作方面有着丰富成熟的库。使用Python操作Elasticsearch...

Global site tag (gtag.js) - Google Analytics