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]); }
相关推荐
2. **创建索引**:理解如何使用Lucene的IndexWriter类来读取数据源(如文件、数据库或网络爬虫抓取的数据),生成索引。 3. **查询执行**:掌握如何使用QueryParser创建查询对象,调用IndexSearcher的search方法...
**基于Java的Lucene全文搜索引擎资源简单实例** Lucene是一个由Apache软件基金会开发的开源全文检索库,它为Java开发者提供了强大的文本搜索功能。Lucene是高性能、可扩展的信息检索库,可以集成到各种Java应用中,...
- **排序与得分**: Lucene使用TF-IDF(词频-逆文档频率)算法计算文档的相关性分数,进行排序。 - **结果集**: 返回高分的文档,用户可以根据需求进行进一步的操作,如显示摘要、跳转到原文等。 5. **扩展与优化*...
同时,向量查询的改进扩展了支持,包括通配符和边界分析,这对于生成摘要和其他复杂查询场景特别有用。 在实际应用中,开发一个简单的搜索引擎会遇到几个关键问题。例如,Lucene的查询处理不分大小写,对包含英文、...
Lucene使用的索引文件格式是自定义的二进制格式,该格式以8位字节为基础,确保了索引文件在不同平台上的一致性和互操作性。索引文件主要包含两大部分:一是词典(Term Dictionary),记录了文档中的所有词条及其统计...
对网络搜索引擎技术进行简要研究,学习搜索引擎完成搜索工作的整个流程中涉及的各种...2、采用Nutch、Lucene工具包对采集到的信息进行分词、索引、排序、生成摘要等。 3、设计搜索引擎门户页面,为用户提供搜索服务。
在本案例中,"Web搜索端"可能是一个简单的Web应用,使用ASP.NET或者MVC框架实现,用户可以通过输入框提交查询,后台服务则调用Lucene.Net API进行搜索,并将结果显示在页面上。 **五、学习与实践** 对于初学者,这...
Lucene的QueryParser类可以帮助我们解析用户的输入,并生成对应的Query对象。然后,使用IndexSearcher来执行查询,它会返回匹配的Document对象列表,每个Document代表一个索引条目。 为了提供“瞬间完成”的搜索...
Lucene提供了一个简单的API,使得开发人员可以索引文本数据,并通过高效的搜索算法快速找到相关结果。 本实例总结主要探讨了如何使用Lucene进行基本的文本搜索操作,包括索引创建、文档添加、查询执行和结果获取等...
- 设计合理的自动摘要流程,包括文本预处理、摘要生成等步骤。 - 需要根据应用场景调整参数。 **5.7 自动分类** - **5.7.1 自动分类的接口定义** - 定义清晰的分类接口,便于扩展和维护。 - 包括训练、预测等...
接下来,我们将详细探讨如何使用Lucene 3.5与IKAnalyzer 3.5创建一个简单的全文检索系统: 1. **环境配置**:首先,需要引入Lucene和IKAnalyzer的库文件到项目中,确保项目能正确识别和使用这两个组件。 2. **创建...
- **自动摘要**:自动生成文档摘要,方便用户快速浏览。 - **自动分类与聚类**:根据文档的内容将其自动分类或聚类。 #### 六、创建索引库 创建和维护高效的索引库是搜索引擎的核心工作之一。本章详细介绍了如何...
Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...
- **5.7 自动摘要**:自动生成文档摘要,方便用户快速浏览主要内容。 - **5.8 自动分类**:根据文档的内容将其自动归类到相应的类别中。 - **5.9 自动聚类**:将相似的文档聚集在一起,便于管理和检索。 - **5.10 ...
五、我们还可以使用Idea下的webservice,能够使用图形画面的方式获取本地代理和生成WSDL文件。 Activiti 介绍 Activiti5是一个业务流程管理(BPM)框架 如果我们的业务是比较复杂的话,我们才会用到...
一个自足的Solr / Lucene 5.x查询应用程序,用于使用创建的索引该索引可用作常规的SOLR实例。 如果需要使用注释,则可以使用特殊的扩展名。 查询语言是人类难以使用的语言。 因此,有一种特殊的简化查询语言和一种...
17. **自动摘要**:自动摘要技术用于生成文档的简短概述,基于机器学习的方法如TextRank可以实现这一目标。 18. **自动分类**:SVM等分类算法可用于自动分类文档,多级分类可以进一步细化分类体系。 19. **自动...
实际应用中,应考虑更复杂的查询逻辑和优化,如使用全文搜索引擎(如Lucene或SOLR)提升性能。 总结,ASP作为一款老牌的服务器端脚本语言,虽然现在已被ASP.NET等现代技术取代,但在处理小型项目或维护旧系统时仍有...
以下是一个简单的Java代码示例,展示了如何使用Lucene进行标记化: ```java import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache....