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

lucene 应用

 
阅读更多

lucene 应用

lucenedto 类 用于区分

 

 

增加索引:

储存文件

 

File indexFile = new File(indexDirPath + "/" + entity.getUrlType());

indexFile.mkdirs();

if (!indexFile.exists()) {

try {

indexFile.createNewFile();

} catch (IOException e) {

e.printStackTrace();

return false;

}

}

 

 

创建 Directory 

 

Directory directory = null;

directory = new SimpleFSDirectory(indexFile);

 

索引配置:IndexWriterConfig indexWriterConfig = new IndexWriterConfig(

Version.LUCENE_30, analyzer);

 

创建索引模式:CREATE,覆盖模式; APPEND,追加模式

 

 

indexWriterConfig.setOpenMode(IndexWriterConfig.OpenMode.CREATE);

indexWriterConfig.setOpenMode(IndexWriterConfig.OpenMode.APPEND);

 

 

始化创建器

indexWriter = new IndexWriter(directory, indexWriterConfig);

 

增加Document

Document doc = new Document();

 

doc.add(new Field("userId", entity.getUserId(), Field.Store.YES,Field.Index.NOT_ANALYZED));

doc.add(new Field("url", url, Field.Store.YES,Field.Index.ANALYZED));

doc.add(new Field("title", title, Field.Store.YES,Field.Index.ANALYZED));

 

 

写入

indexWriter.addDocument(doc);

更新

Term term = new Term("id", entity.getUserID());

indexWriter.updateDocument(term, doc);

 

关闭

indexWriter.close();

 

 

删除索引:

Directory directory;

directory = new SimpleFSDirectory(indexDir);

indexWriterConfig.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND);

indexWriter = new IndexWriter(directory, indexWriterConfig);

Term term = new Term("id", entity. getUserId ());

indexWriter.deleteDocuments(term);

关闭

indexWriter.close();

 

查询检索

File indexFile = new File(indexDirPath + "/" +fileName);

打开

Directory dir = FSDirectory.open(indexFile);

IndexSearcher indexSearcher = new IndexSearcher(dir);

indexSearcher.setSimilarity(new IKSimilarity());
TopScoreDocCollector topCollector = TopScoreDocCollector.create(indexSearcher.maxDoc(), true);
indexSearcher.search(query, filter, topCollector);
hits = topCollector.topDocs().scoreDocs;
命中数
 totalHits = topCollector.getTotalHits();
doc = indexSearcher.doc(hits[i].doc);

设置高亮
SimpleHTMLFormatter simpleHtmlFormatter = new SimpleHTMLFormatter( "<font color=\"red\">", "</font>");
Highlighter highlighter = new Highlighter(simpleHtmlFormatter, new QueryScorer(query));
 TokenStream tokenStream = analyzer.tokenStream("text", new StringReader(text));

 

分享到:
评论

相关推荐

    lucene应用开发揭秘 第四讲

    ### Lucene应用开发揭秘第四讲知识点详解 #### 一、概览 《Lucene应用开发揭秘第四讲》是由觉先华老师主讲的一次技术分享,主要围绕如何设计高效的索引格式来进行讲解。本讲中重点介绍了词典的存储方式以及倒排表...

    Lucene应用中Pdf文档文本数据提取方法研究

    在探讨“Lucene应用中Pdf文档文本数据提取方法研究”的主题下,我们深入研究了如何在基于Lucene的全文检索系统中高效处理和提取Pdf文档中的文本数据。Lucene作为一款开源的全文检索引擎,虽然提供了强大的全文检索...

    lucene的应用程序扩展

    **Lucene 应用程序扩展在 ASP.NET 中的实践与应用** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发。它提供了强大的搜索功能,被广泛应用于各种应用程序,包括网站、数据库和文档管理。在 ASP.NET ...

    Lucene在web项目中的应用

    **Lucene在Web项目中的应用** Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,它提供了完整的搜索解决方案,包括索引构建、搜索功能以及分词处理。在Java Web项目中,Lucene能够帮助开发者实现高效、...

    经典的lucene实例代码及详细解析以及lucene结构流程介绍

    Lucene应用程序可以用于各种领域,包括文本搜索、图片搜索和视频搜索等。 在上面的代码中,我们使用了Lucene搜索引擎库构建了一个文本搜索应用程序。该应用程序可以搜索TXT文件中的指定内容,并返回搜索结果。 ...

    Lucene in Action 中文版

     《Lucene实战 第2版 》基于Apache的Lucene 3 0 从Lucene核心 Lucene应用 案例分析3个方面详细系统地介绍了Lucene 包括认识Lucene 建立索引 为应用程序添加搜索功能 高级搜索技术 扩展搜索 使用Tika提取文本 Lucene...

    Lucene实战

    《Lucene实战(第2版)》基于Apache的Lucene 3.0,从Lucene核心、Lucene应用、案例分析3个方面详细系统地介绍了Lucene,包括认识Lucene、建立索引、为应用程序添加搜索功能、高级搜索技术、扩展搜索、使用Tika提取文本...

    Lucene in action(中文版)

    《Lucene实战(第2版)》基于Apache的Lucene 3.0,从Lucene核心、Lucene应用、案例分析3个方面详细系统地介绍了Lucene,包括认识Lucene、建立索引、为应用程序添加搜索功能、高级搜索技术、扩展搜索、使用Tika提取文本...

    weblucene安装文档

    启动Tomcat,WebLucene应用会自动解压并部署。 4. **数据库连接配置** WebLucene需要一个数据库来存储索引和其他元数据。你需要在`src/main/resources/config.properties`中配置数据库连接信息,包括数据库类型...

    Lucene的的学习资料及案例

    在提供的案例中,你可以找到一个简单的Lucene应用实例。这个案例可能包含了以下部分: 1. **索引创建**: 包含读取数据源(如文件或数据库),创建Analyzer,将数据转换为Lucene的Document对象,并通过IndexWriter...

    Lucene原理及使用总结

    一个简单的Lucene应用实例是搜索文本文档。例如,开发者可以创建一个索引目录,然后指定一个包含文本文档的数据目录。使用`Analyzer`(如CJKAnalyzer)对文本进行分析,通过`IndexWriter`将文档内容写入索引。这样,...

    Lucene In Action 第二版 高清中文版+附书源代码

    1. **Lucene基础知识**:介绍Lucene的基本概念,如文档、字段、术语、倒排索引和查询解析,以及如何创建一个基本的Lucene应用。 2. **索引构建**:涵盖如何将结构化和非结构化数据转化为可搜索的索引,包括分词器的...

    Lucene4.7-Web 例子

    《Lucene4.7在Web应用中的实践:结合SpringMVC与MyBatis3》 在信息化时代,搜索引擎已经成为我们日常获取信息的重要工具。Apache Lucene作为一款强大的全文搜索引擎库,为开发者提供了丰富的功能,帮助构建高效、可...

    lucene5 源码教程

    在实践中,会遇到如数据导入、更新、删除等问题,解决这些问题有助于提升开发者的Lucene应用能力。 总结,Lucene 5为开发者提供了强大且灵活的全文检索功能,通过深入学习其源码,尤其是拼音检索和分词器的运用,...

    LuceneInAction(第2版)_cn.pdf

     《Lucene实战(第2版)》基于Apache的Lucene 3.0,从Lucene核心、Lucene应用、案例分析3个方面详细系统地介绍了Lucene,包括认识Lucene、建立索引、为应用程序添加搜索功能、高级搜索技术、扩展搜索、使用Tika提取...

    Lucene实战中文版第2版.pdf

    lcene实战(第2版)》基于apache的lucene3.0,从lucene核心、lucene应用、案例分析3个方面详细系统地介绍了lucene,包括认识lucene、建立索引、为应用程序添加搜索功能、高级搜索技术、扩展搜索、使用tika提取文本、...

    luceneDemo

    在 "luceneDemo" 中,可能包含了一个简单的 Lucene 应用示例,比如: - `search.jsp`: 这是一个 JSP 文件,通常用于接收用户输入的查询字符串,然后调用后端服务进行搜索。 - `WEB-INF`: 这个目录在 Java Web 应用...

    Weblucene 站内搜索

    要将Weblucene应用于你的网站,你需要遵循以下步骤: - **安装与配置**:下载Weblucene的源代码或二进制包,根据官方文档配置相关参数,如索引目录、日志设置等。 - **创建索引**:使用Weblucene提供的工具,抓取并...

    lucene部分案例的源代码

    此文件可能是完整的Lucene应用案例,涵盖了更复杂的搜索功能,如: - 多字段搜索:支持对多个字段进行同时搜索,比如搜索标题和内容。 - 布尔查询:允许用户使用AND、OR、NOT等逻辑运算符组合多个查询条件。 - 断词...

    lucene示例 demo+jar包

    **Lucene 全文检索引擎概述** Lucene 是一个开源的..."lucene示例"可以帮助初学者理解并实践 Lucene 的主要功能,而提供的 jar 包则是运行 Lucene 应用的基础。学习并掌握 Lucene,将有助于提升应用程序的搜索体验。

Global site tag (gtag.js) - Google Analytics