`
wanglihu
  • 浏览: 915452 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类

lucene3.5高亮设置

阅读更多
import java.io.IOException;
import java.io.StringReader;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.highlight.Highlighter;
import org.apache.lucene.search.highlight.InvalidTokenOffsetsException;
import org.apache.lucene.search.highlight.QueryScorer;
import org.apache.lucene.search.highlight.SimpleHTMLFormatter;
import org.apache.lucene.util.Version;

public class HighlighterDemo {
	public static String toHighlighter(Query query, Document doc, String field) throws IOException, InvalidTokenOffsetsException {
		Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_35);
		SimpleHTMLFormatter simpleHtmlFormatter = new SimpleHTMLFormatter("<font color=\"red\">", "</font>");
		Highlighter highlighter = new Highlighter(simpleHtmlFormatter,new QueryScorer(query));
		TokenStream tokenStream = analyzer.tokenStream(field,new StringReader(doc.get(field)));
		String highlighterStr = highlighter.getBestFragment(tokenStream, doc.get(field));
		return highlighterStr == null ? doc.get(field) : highlighterStr;
	}
}
分享到:
评论

相关推荐

    lucene3.5高亮jar

    lucene3.5高亮

    Lucene3.5源码jar包

    5. **内存缓存与过滤器**:Lucene提供`Filter`类来处理如文档过滤、高亮显示等功能。同时,`BitSet`类用于在内存中高效地存储和操作文档集。 6. **倒排索引的优化**:在`MergePolicy`和`MergeScheduler`中,你可以...

    lucene3.5的各种包

    这个压缩包包含了Lucene 3.5版本的一些关键组件,如中文分词器、核心包和高亮包等,这些对于构建高效、精确的文本搜索系统至关重要。 1. **中文分词器**: 在处理中文文本时,分词是必不可少的步骤。Lucene 3.5 包含...

    lucene3.5全文检索案例lucene+demo

    本篇文章将围绕“lucene3.5全文检索案例lucene+demo”,详细讲解Lucene 3.5的核心概念、关键功能以及如何通过实例进行操作。 一、Lucene 3.5核心概念 1. 文档(Document):Lucene中的最小处理单元,相当于数据库...

    Lucene 3.5 api HTML版

    8. **高亮显示(Highlighting)**: Lucene 提供了文本片段高亮的功能,可以在搜索结果中突出显示匹配的部分。 9. **内存索引(In-memory Indexing)与磁盘索引(Disk-based Indexing)**: Lucene 支持两种索引方式...

    Lucene3.5的学习研究报告

    《深入探索Lucene 3.5:学习研究报告》 Lucene 3.5是一个重要的版本更新,它在2011年11月26日发布,为搜索引擎开发者提供了更高效、更稳定的功能。该版本在性能优化、新特性和错误修复上取得了显著的进步。 首先,...

    lucene3.5的API

    在本篇文章中,我们将深入探讨 Lucene 3.5 版本的 API,尽管它是英文版,但其丰富的功能和详细文档使其对开发者极具价值。 1. **Lucene 的基本概念** - **索引(Index)**:Lucene 使用倒排索引(Inverted Index)...

    lucene3.5学习笔记

    ### Lucene 3.5 学习笔记 #### 一、Lucene 3.5 基本概念 ##### 1.1 Lucene 概述 **1.1.1 IndexWriter** `IndexWriter` 是 Lucene 中的核心类之一,用于创建或更新索引。它提供了添加文档、删除文档、优化索引等...

    solr_lucene3.5_lukeall-3.5.0.jar.zip

    标题中的"solr_lucene3.5_lukeall-3.5.0.jar.zip" 提供了关于这个压缩包的基本信息。它包含了Solr和Lucene的特定版本——3.5.0,以及一个名为"lukeall"的工具。"Luke"在Lucene和Solr的上下文中是一个非常有用的工具...

    Lucene测试程序3.5

    Lucene测试程序3.5是一款基于Java开发的小型应用,主要用于验证和学习Lucene 3.5版本的功能。Lucene是一个高度成熟、功能强大的全文搜索引擎库,由Apache软件基金会开发并维护。它提供了丰富的API,允许开发者在应用...

    lucene-highlighter-3.5.0.jar lucene高亮包

    lucene-highlighter-3.5.0.jar lucene高亮包

    Lucene.Net_2_9_1 含高亮等包完整版

    Lucene.Net 2.9.1是该库的一个稳定版本,带来了对.NET Framework的良好支持,包括.NET 2.0、3.0、3.5以及4.0。这个版本包含了之前在某些下载源中可能缺失的高亮包,使得用户可以在搜索结果中实现关键词高亮,从而...

    lucene的封装和性能优化

    优化字段类型,例如,对于非全文搜索的字段,可以设置为不分词的TextField,以减少索引空间和提高搜索速度。另外,定期重建索引,以消除旧的和不必要的数据。 #### 3.5 查询优化 合理使用查询语法,避免复杂的查询...

    solr3.5配置

    Apache Solr 是一款高度可扩展的开源全文搜索引擎,它基于 Java 开发,并且利用了 Apache Lucene 库来实现强大的搜索功能。Solr 3.5 版本因其稳定性而备受推崇,尤其适合用于构建企业级的搜索解决方案。 在 Solr 中...

    solr 3.5 tomcat 整合可直接使用

    Solr是一个基于Apache Lucene的开源搜索平台,提供了高效、可扩展的全文检索、命中高亮、拼写检查、分类、 faceting等功能。而Tomcat则是一个流行的轻量级应用服务器,广泛用于部署Java Web应用程序。 **Solr 3.5...

    solr3.5配置及应用[借鉴].pdf

    Apache Solr 是一个强大的开源搜索服务器,基于Java开发并利用Apache Lucene库提供全文检索服务。它的核心特性包括高效的缓存机制、垂直搜索功能、搜索结果高亮、通过索引复制确保高可用性以及一套强大的数据模式...

    apache-solr-3.5.0.zip

    Solr基于Java,是Apache Lucene项目的一部分,提供了高级的索引和查询功能,支持多种数据源,包括XML、JSON、CSV等。在企业环境中,Solr常常与Web服务器如Tomcat集成,以提供更灵活和方便的部署选项。 标题"apache-...

    solr资料以及问题汇总

    首先,"eContact+V3.5(3.5.7.4Q1)Solr檢索附件需求分析書V1.0-ZhaoHaiming20100415.docx"文件可能是关于一个特定项目中Solr的检索附件需求分析,可能涵盖了如何利用Solr进行文档检索和管理的需求和设计思路。...

Global site tag (gtag.js) - Google Analytics