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

使用Lucene简单生成摘要

 
阅读更多

Lucene是apache一个开源的搜索引擎,我的需求是对一篇文章抽取其摘要,本人菜鸟,实现代码如下

public static String luceneSummary(String txt) throws ParseException, IOException, InvalidTokenOffsetsException{
		String pQuery= "穆 沙拉 法院"; //关键字
		
		Formatter formatter = new SimpleHTMLFormatter("<font color='red'>","</font>"); //高亮 
		Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_30);
		QueryParser parser = new QueryParser(Version.LUCENE_30, "", analyzer);
		 Highlighter highlighter = new Highlighter(formatter , new QueryScorer(parser.parse(pQuery)));
//		 Fragmenter fragmenter = new SimpleFragmenter(100);   
//		 highlighter.setTextFragmenter(fragmenter);
		 highlighter.setTextFragmenter(new NullFragmenter()); //不要限制子多少
		 String[] strArray = txt.split("([。|,])");  //以逗号分隔传入的文章,逐句的提取摘要,这样的摘要最起码是一个句子
		 String text = "";
		
		 for(String str : strArray){  //循环每句话
			 String ret = highlighter.getBestFragment(analyzer, "", str);  
			 if(ret!=null){
				 text += ret+",";
				 if(text.length()>300)  //如果摘要累计300个字就停止
					 break;
			 }
			 
		 }
		return text;
	}

        public static void main(String[] args) throws IOException, ParseException, InvalidTokenOffsetsException {
            
            //args[0]传一篇文章试试就知道了    	    
            luceneSummary(args[0]);
	}

 

分享到:
评论

相关推荐

    基于Lucene的搜索引擎

    2. **创建索引**:理解如何使用Lucene的IndexWriter类来读取数据源(如文件、数据库或网络爬虫抓取的数据),生成索引。 3. **查询执行**:掌握如何使用QueryParser创建查询对象,调用IndexSearcher的search方法...

    基于java的Lucene全文搜索引擎资源简单实例下载

    **基于Java的Lucene全文搜索引擎资源简单实例** Lucene是一个由Apache软件基金会开发的开源全文检索库,它为Java开发者提供了强大的文本搜索功能。Lucene是高性能、可扩展的信息检索库,可以集成到各种Java应用中,...

    全文检索(Lucene)详解

    - **排序与得分**: Lucene使用TF-IDF(词频-逆文档频率)算法计算文档的相关性分数,进行排序。 - **结果集**: 返回高分的文档,用户可以根据需求进行进一步的操作,如显示摘要、跳转到原文等。 5. **扩展与优化*...

    Lucene3.5的学习研究报告

    同时,向量查询的改进扩展了支持,包括通配符和边界分析,这对于生成摘要和其他复杂查询场景特别有用。 在实际应用中,开发一个简单的搜索引擎会遇到几个关键问题。例如,Lucene的查询处理不分大小写,对包含英文、...

    基于Lucene的全文检索引擎研究与应用.pdf

    Lucene使用的索引文件格式是自定义的二进制格式,该格式以8位字节为基础,确保了索引文件在不同平台上的一致性和互操作性。索引文件主要包含两大部分:一是词典(Term Dictionary),记录了文档中的所有词条及其统计...

    基于lucene的搜索引擎的设计与实现

    对网络搜索引擎技术进行简要研究,学习搜索引擎完成搜索工作的整个流程中涉及的各种...2、采用Nutch、Lucene工具包对采集到的信息进行分词、索引、排序、生成摘要等。 3、设计搜索引擎门户页面,为用户提供搜索服务。

    Lucene.Net实现的搜索引擎框架(改自CSDN资源)

    在本案例中,"Web搜索端"可能是一个简单的Web应用,使用ASP.NET或者MVC框架实现,用户可以通过输入框提交查询,后台服务则调用Lucene.Net API进行搜索,并将结果显示在页面上。 **五、学习与实践** 对于初学者,这...

    基于Lucene的桌面搜索工具,搜索瞬间完成

    Lucene的QueryParser类可以帮助我们解析用户的输入,并生成对应的Query对象。然后,使用IndexSearcher来执行查询,它会返回匹配的Document对象列表,每个Document代表一个索引条目。 为了提供“瞬间完成”的搜索...

    Java搜索工具——Lucene实例总结(一)

    Lucene提供了一个简单的API,使得开发人员可以索引文本数据,并通过高效的搜索算法快速找到相关结果。 本实例总结主要探讨了如何使用Lucene进行基本的文本搜索操作,包括索引创建、文档添加、查询执行和结果获取等...

    一个专业搜索公司关于lucene+solar资料(1)

    - 设计合理的自动摘要流程,包括文本预处理、摘要生成等步骤。 - 需要根据应用场景调整参数。 **5.7 自动分类** - **5.7.1 自动分类的接口定义** - 定义清晰的分类接口,便于扩展和维护。 - 包括训练、预测等...

    全文检索lucence3.5+IKAnalzers3.5示例

    接下来,我们将详细探讨如何使用Lucene 3.5与IKAnalyzer 3.5创建一个简单的全文检索系统: 1. **环境配置**:首先,需要引入Lucene和IKAnalyzer的库文件到项目中,确保项目能正确识别和使用这两个组件。 2. **创建...

    自己动手写搜索引擎

    - **自动摘要**:自动生成文档摘要,方便用户快速浏览。 - **自动分类与聚类**:根据文档的内容将其自动分类或聚类。 #### 六、创建索引库 创建和维护高效的索引库是搜索引擎的核心工作之一。本章详细介绍了如何...

    JAVA上百实例源码以及开源项目源代码

    Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...

    高清彩版 自己动手写搜索引擎

    - **5.7 自动摘要**:自动生成文档摘要,方便用户快速浏览主要内容。 - **5.8 自动分类**:根据文档的内容将其自动归类到相应的类别中。 - **5.9 自动聚类**:将相似的文档聚集在一起,便于管理和检索。 - **5.10 ...

    Java EE常用框架.xmind

    五、我们还可以使用Idea下的webservice,能够使用图形画面的方式获取本地代理和生成WSDL文件。 Activiti 介绍 Activiti5是一个业务流程管理(BPM)框架 如果我们的业务是比较复杂的话,我们才会用到...

    medline-query-with-entities:与实体发布查询

    一个自足的Solr / Lucene 5.x查询应用程序,用于使用创建的索引该索引可用作常规的SOLR实例。 如果需要使用注释,则可以使用特殊的扩展名。 查询语言是人类难以使用的语言。 因此,有一种特殊的简化查询语言和一种...

    搜索引擎开发培训课程提纲PPT学习教案.pptx

    17. **自动摘要**:自动摘要技术用于生成文档的简短概述,基于机器学习的方法如TextRank可以实现这一目标。 18. **自动分类**:SVM等分类算法可用于自动分类文档,多级分类可以进一步细化分类体系。 19. **自动...

    一个不错的站内搜索程序

    实际应用中,应考虑更复杂的查询逻辑和优化,如使用全文搜索引擎(如Lucene或SOLR)提升性能。 总结,ASP作为一款老牌的服务器端脚本语言,虽然现在已被ASP.NET等现代技术取代,但在处理小型项目或维护旧系统时仍有...

    InformationRetrieval-Tokenization:从克兰菲尔德数据库收集有关代币信息的程序

    以下是一个简单的Java代码示例,展示了如何使用Lucene进行标记化: ```java import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache....

Global site tag (gtag.js) - Google Analytics