java 代码
- package com.feedsky.lucene;
-
- import java.io.StringReader;
-
- import org.apache.lucene.analysis.Analyzer;
- import org.apache.lucene.analysis.TokenStream;
- import org.apache.lucene.document.Document;
- import org.apache.lucene.document.Field;
- import org.apache.lucene.index.IndexWriter;
- import org.apache.lucene.queryParser.QueryParser;
- import org.apache.lucene.search.Hits;
- import org.apache.lucene.search.IndexSearcher;
- import org.apache.lucene.search.Query;
- import org.apache.lucene.search.highlight.Highlighter;
- import org.apache.lucene.search.highlight.QueryScorer;
- import org.apache.lucene.search.highlight.SimpleFragmenter;
- import org.apache.lucene.search.highlight.SimpleHTMLFormatter;
- import org.apache.lucene.store.Directory;
- import org.apache.lucene.store.RAMDirectory;
-
-
-
- public class HighLighterTest
- {
-
- public static void main(String[] args)
- {
- String fieldName = "text";
- String text = "《越狱3》播出时间再次延期 急煞中国“狱友” 巨型变形金刚惊现北京 《龙珠Z》绝招威力排行 《不能说的秘密》清纯版 迅雷宽频合作发行 《越狱动画版》";
-
-
- Analyzer analyzer = new CnAnalyzer();
-
- Directory directory = new RAMDirectory();
-
- try
- {
-
- IndexWriter iwriter = new IndexWriter(directory, analyzer, true);
- iwriter.setMaxFieldLength(25000);
- Document doc = new Document();
- doc.add(new Field(fieldName, text, Field.Store.YES,
- Field.Index.TOKENIZED,
- Field.TermVector.WITH_POSITIONS_OFFSETS));
- iwriter.addDocument(doc);
- iwriter.close();
-
- IndexSearcher isearcher = new IndexSearcher(directory);
-
- QueryParser queryParse = new QueryParser(fieldName, analyzer);
- Query query = queryParse.parse("越狱");
- Hits hits = isearcher.search(query);
- for (int i = 0; i < hits.length(); i++) {
- Document docTemp = hits.doc(i);
- String value = docTemp.get(fieldName);
-
- SimpleHTMLFormatter sHtmlF = new SimpleHTMLFormatter("<b><font color='red'>", "</font></b>");
- Highlighter highlighter = new Highlighter(sHtmlF,new QueryScorer(query));
- highlighter.setTextFragmenter(new SimpleFragmenter(10));
-
- if (value != null) {
- TokenStream tokenStream = analyzer.tokenStream(fieldName,new StringReader(value));
- String str = highlighter.getBestFragment(tokenStream, value);
-
- System.out.println(str);
- }
- }
-
- isearcher.close();
- directory.close();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-
- }
运行结果为:
《<b><font color='red'>越狱</font></b>3》播出时间
分享到:
相关推荐
在这个SpringBoot+Lucene的Demo中,我们将深入探讨如何在Spring Boot框架下集成Lucene,并实现搜索结果的高亮显示。 首先,让我们了解Spring Boot。Spring Boot是由Pivotal团队提供的全新框架,其设计目标是简化...
在"lucene_demo"这个压缩包中,很可能包含了一些示例代码或者项目,用于演示如何使用Lucene进行实际的文本搜索开发。这些示例通常会涵盖以下几个关键知识点: 1. **安装与配置**:Lucene的下载、构建环境的搭建,...
"luceneDemo(完整代码)"是一个实践项目,旨在帮助开发者深入理解Lucene的基础类运用、高亮器实现以及相关度排序等核心概念。 首先,我们来看看基础类的运用。在Lucene中,IndexWriter是创建和更新索引的主要类,...
**Lucene初探:一个初级的LuceneDemo** 在IT领域,搜索引擎技术是不可或缺的一部分,尤其是在大数据时代,高效的信息检索显得尤为重要。Apache Lucene就是这样一款强大的开源全文搜索引擎库,它为开发者提供了构建...
总的来说,这个“ssh集成Lucene4.7demo”项目提供了一个完整的示例,展示了如何在SSH框架下整合Lucene进行全文搜索,以及如何利用IKAnalyzer处理中文分词,同时实现搜索结果的高亮显示。对于初学者或希望深入理解...
本篇文章将围绕“lucene3.5全文检索案例lucene+demo”,详细讲解Lucene 3.5的核心概念、关键功能以及如何通过实例进行操作。 一、Lucene 3.5核心概念 1. 文档(Document):Lucene中的最小处理单元,相当于数据库...
**Lucene 概述** Lucene 是一个高性能、全文本搜索库...实际的 "luceneDemo" 可能包含更丰富的功能,例如支持多字段查询、高亮显示搜索结果、分页显示等。学习和理解 Lucene,可以帮助开发者构建强大的全文检索系统。
《Lucene 4.7.2 Demo:Java全文搜索引擎的核心技术探索》 Lucene,作为Apache软件基金会的一个开源项目,是Java平台上的一个全文搜索引擎库。它的主要功能是提供高效、可扩展的文本检索和分析能力。在4.7.2这个版本...
【Lucene Demo (Paoding)】是一个展示如何在Java环境中使用Apache Lucene库进行全文搜索引擎构建的示例项目。Lucene是开源的全文检索引擎库,它提供了强大的文本搜索功能,而Paoding则是针对中文处理的插件,优化了...
本篇文章将深入探讨Lucene的核心概念、工作原理以及如何通过一个Demo来实践它的使用。 Lucene的主要功能包括索引构建、查询解析、评分和结果排序。索引构建是将原始文本数据转换成一种高效的数据结构,以便于快速...
6. **高亮显示(Highlighting)**:为了方便用户,Lucene 还可以高亮显示搜索结果中匹配的关键词。 在这个 Lucene 5 的简单 Demo 中,开发者可能会展示如何执行以下操作: 1. **创建索引**:创建一个 `Directory` ...
在这个“lucene5.5demo”项目中,开发者利用Lucene 5.5版本,结合Spring MVC框架和MySQL数据库,构建了一个功能完备的文本搜索系统,涵盖了索引的创建、更新、删除和查询等基本操作,并实现了高亮显示、分页以及...
在"jsuop+lucene demo"项目中,这两个工具被结合使用,以实现一个简单的新闻爬虫系统,并在此基础上构建了全文索引查询功能,便于用户快速、准确地查找所需新闻内容。 **一、新闻爬虫** 1. **网络爬虫基础**:网络...
《Lucene实战Demo》 在IT领域,搜索引擎技术是不可或缺的一部分,而Apache Lucene作为一款高性能、全文检索库,被广泛应用于各种系统中。本文将深入探讨如何利用Lucene进行实战开发,通过分析提供的标签“源码”和...
本教程通过一个简单的demo,将深入讲解如何利用Lucene 4.0创建索引、删除索引以及进行有效搜索。以下是详细的知识点解析: 1. **Lucene简介** Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发。它提供...
《深入解析Lucene.Net.DemoLib.dll:一个强大的全文搜索引擎示例库》 在IT行业中,搜索引擎技术扮演着至关重要的角色,特别是在大数据处理和信息检索领域。Lucene.NET是Apache软件基金会开发的一个开源全文搜索库,...
在“Lucene Demo 组件”中,我们主要会接触到以下几个关键知识点: 1. **索引的创建(Indexing)** 创建索引是 Lucene 的首要步骤。它将文本数据转换为倒排索引(Inverted Index),使得快速查找匹配特定关键词的...
掌握这些基本操作后,你可以进一步探索 Lucene 的高级特性,如分面搜索、自定义分析器、命中高亮等,以满足更复杂的搜索需求。同时,需要注意的是,实际应用中应考虑并发控制、性能优化以及错误处理等方面的问题。
"luceneDemo"可能是项目源代码,包含整合Lucene的具体实现,如创建索引、执行搜索以及关键词高亮等逻辑。 总之,这个项目实例涵盖了从数据库获取新闻数据,使用Lucene进行文本处理、索引构建、搜索执行,到最后的...