- 浏览: 1253790 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (461)
- 心得体会 (166)
- Hibernate (9)
- Spring (12)
- Struts1 (3)
- Ajax (4)
- Java (54)
- 其他技术 (21)
- 数据库 (29)
- EXT (0)
- Struts2 (7)
- Xml (3)
- HTML (5)
- JavaScript (12)
- 面试相关 (3)
- BLOG (11)
- 计算机 (11)
- PMP (0)
- OGNL (1)
- LINUX (79)
- AIX (1)
- Ubuntu (14)
- Android (1)
- hadoop (3)
- LINUX debian (3)
- 心得体会 eclipse (2)
- JSTL (1)
- 心得体会 hadoop cdh3u5 (2)
- maven (5)
- Hive (1)
- 心得体会 工具使用 (3)
- spring data jpa Query By Example(QBE) (1)
- nginx (2)
- Apache (1)
- mysql (6)
- LINUX mysql (2)
- freemaker (1)
- 心得体会 FastDFS Nginx 断点续传 (1)
- LINUX FastDFS Nginx 断点续传 (1)
- 心得体会 Mybatis (2)
- 心得体会 mysql (4)
- php (1)
- logback 简介 (5)
- EL (1)
- Tomcat (2)
- win7 (1)
- LINUX maven (1)
- scrumworks (1)
- linux nginx (6)
- svn linux (1)
- mac (3)
- mac git (1)
- git (1)
- nexus (2)
- golang (1)
- LINUX Redis (1)
- mac oracle (1)
最新评论
-
a785975139:
有用
MySQL Error :SHOW PROFILES -
yijiulove:
弄了半天,参照你的方法解决了.特来感谢,知道可能是先加载,但是 ...
Spring和Mybatis整合时无法读取properties的处理方案 -
chenjinqi1987:
Missing com.sun.jdmk:jmxtools:jar:1.2.1 -
leifeng2:
请问怎么使用,运行之后d盘符没有生产音频文件呢?
java录音程序 -
sundful:
chenghong726 写道你好,我也遇到你这样的问题,按照 ...
Spring和Mybatis整合时无法读取properties的处理方案
全文检索系统的结构包括:文本处理引擎,索引引擎,磁盘索引文件,查询引擎,二次应用开发接口。<o:p></o:p>
Lucene是一个开放源代码的全文检索引擎工具包,不是一个完整的全文检索引擎,而是一个全文检索引擎的架构。<o:p></o:p>
成功案例:Eclipse,Jive<o:p></o:p>
<o:p></o:p>
Lucene包结构(七大块)<o:p></o:p>
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><o:p></o:p>
<o:p></o:p>
Lucene的倒排索引算法:<o:p></o:p>
<o:p></o:p>
设有两篇文章1和2
文章1的内容为:Tom lives in <st1:city w:st="on">Guangzhou</st1:city>,I live in <st1:place w:st="on"><st1:city w:st="on">Guangzhou</st1:city></st1:place> too.
文章2的内容为:He once lived in <st1:place w:st="on"><st1:city w:st="on">Shanghai</st1:city></st1:place>.<o:p></o:p>
传统算法:<o:p></o:p>
文章1的所有关键词为:[tom] [live] [guangzhou] [i] [live] [guangzhou]
文章2的所有关键词为:[he] [live] [shanghai]<o:p></o:p>
倒排索引算法:<o:p></o:p>
关键词 文章号[出现频率] 出现位置
guangzhou 1[2] 3,6
he 2[1] 1
i 1[1] 4
live 1[2],2[1] 2,5,2
shanghai 2[1] 3
tom 1[1] 1<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
一、环境<o:p></o:p>
需要导入lucene.jar包(在lucene.apache.org下载)<o:p></o:p>
二、基本概念<o:p></o:p>
1.Lucene的工作流程:<o:p></o:p>
(1) 建立索引:主要使用IndexWriter,在指定的目录建立索引的文件.<o:p></o:p>
IndexWrite几种构造函数<o:p></o:p>
IndexWrite(String str , Analyzer a , Boolean create)<o:p></o:p>
IndexWrite(File f , Analyzer a, Boolean create)<o:p></o:p>
IndexWrite(Directory d , Analyzer a, Boolean create)<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
a.提取文本. Lucene只能对文本信息建立索引,只要你能将要索引的文件转化成文本格式,Lucene 就能为你的文档建立索引。比如,如果你想为 HTML 文档或者 PDF 文档建立索引,那么首先你就需要从这些文档中提取出文本信息,然后把文本信息交给 Lucene 建立索引。<o:p></o:p>
b.构建Document<o:p></o:p>
c.分析并建立索引,在提取了需要Lucene建立索引的数据并且创建了Document之后,接下来就可以调用IndexWrite类的addDocument()方法来使Lucene建立索引了。<o:p></o:p>
(2) 创建搜索的Query
(3 ) 利用IndexSearcher进行搜索<o:p></o:p>
<o:p></o:p>
2.Lucene的字段Field类型<o:p></o:p>
<o:p></o:p>
对于每个Field , Lucene提供了3种方式以供用户选择进行处理,这3种方式分别是“是否切词”,“是否索引”,“是否存储”。<o:p></o:p>
Lucene有四种不同的字段类型:Keyword,UnIndexed,UnStored和Text,用于指定建立最佳索引。<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
字段类型<o:p></o:p> |
是否切词<o:p></o:p> |
是否索引<o:p></o:p> |
是否存储<o:p></o:p> |
主要用途<o:p></o:p> |
Field.Keyword(String name,String value)<o:p></o:p> Field.Keyword(String Date)<o:p></o:p> |
否<o:p></o:p> |
是<o:p></o:p> |
是<o:p></o:p> |
电话号码,居民身份证,人名,地名,日期等<o:p></o:p> |
Field.UnIndexed(String,String)<o:p></o:p> |
否<o:p></o:p> |
否<o:p></o:p> |
是<o:p></o:p> |
文档的类型,例如:Word,PDF,HTML<o:p></o:p> |
Field.UnStored(String,String)<o:p></o:p> |
是<o:p></o:p> |
是<o:p></o:p> |
否<o:p></o:p> |
文档的标题和内容<o:p></o:p> |
Field.Text(String,String)<o:p></o:p> |
是<o:p></o:p> |
是<o:p></o:p> |
是<o:p></o:p> |
文档的标题和内容<o:p></o:p> |
Field.Text(String,Reader)<o:p></o:p> |
是<o:p></o:p> |
是<o:p></o:p> |
否<o:p></o:p> |
文档的标题和内容<o:p></o:p> |
<o:p></o:p>
<o:p></o:p>
3.基本概念(与传统表的对比):<o:p></o:p>
Lucene<o:p></o:p> |
传统表<o:p></o:p> |
说明<o:p></o:p> |
IndexWriter<o:p></o:p> |
table<o:p></o:p> |
<o:p></o:p> |
Document<o:p></o:p> |
一条记录<o:p></o:p> |
<o:p></o:p> |
Field<o:p></o:p> |
每个字段<o:p></o:p> |
分为可被索引的,可切分的,不可被切分的,不可被索引的几种组合类型<o:p></o:p> |
Hits<o:p></o:p> |
RecoreSet<o:p></o:p> |
结果集<o:p></o:p> |
<o:p></o:p>
调整性能参数,提高建立索引效率<o:p></o:p>
IndexWriter提供了一些参数可供设置,列表如下<o:p></o:p>
发表评论
-
TXT文件合并法,不需要任何软件!
2011-08-04 18:23 1996一、dos copy方法 发现 ... -
UML用户指南(二)----类、关系、图、接口、包、实例
2010-08-09 14:07 1468类 UML为类提供了图形表示,强调抽象 ... -
UML用户指南(一)-----入门
2010-08-09 14:07 1431为什么要建模 如果想搭建一个狗窝,备好木材、 ... -
maven2
2010-04-28 17:08 3240(0) maven安装: 首先当然去Apache网站下载M ... -
2010.4.24更新 windows 7 x86/x64 应用全面导航(菜鸟老鸟全兼容)
2010-04-25 09:20 44241.正确选择win7安装文件 首先确定你需要x64系 ... -
xslt函数详解
2010-03-15 10:09 2607------------------------------- ... -
Eclipse基础--plugin插件安装
2009-11-20 16:25 1115Eclipse 是一个开放源代 ... -
Maven2 的简单用法
2009-11-06 16:59 38771.Maven的安装1.1Windows 2000 ... -
使用maven2快速创建项目
2009-11-06 16:53 1183Maven2在项目管理方面影响越来越大,很多项目都使用Mave ... -
手工把tomcat5安装成windows服务
2008-11-12 10:40 2333今天搭一个Tomcat服务器,为了方便决定将解压版(非win ... -
开发者必知 制作标准用户手册的15条技巧
2008-07-12 09:40 1677用户手册声称可解决问题,但实际上不仅不能提供帮助,反而让你愈加 ... -
回车登陆 ie firefox 兼容
2008-06-30 10:41 2422function keySub(e){ var msie ... -
完整显示当前日期和时间的JS代码
2008-06-10 09:14 3430<script> function tick() ... -
weblogic无法启动报空指针错误的解决办法
2008-05-23 17:42 3644AIX下无法启动weblogic, ... -
在myeclipse中配置weblogic[转]
2008-03-06 13:54 1769安装WebLogic8.1 安装WebLog ... -
MSN,QQ在线即时交谈网页代码
2008-01-23 13:31 3215想让你的msn和QQ一样可以生成在线交谈状态吗?试试这个代码吧 ... -
Apache Rewrite 规则的常见应用
2008-01-23 10:36 10851一:目的本文旨在提供如 ... -
urlRewriteFilter来实现url的美化
2007-11-24 13:21 5163前两天做了一个动态jsp转静态html,用到了urlrewri ... -
WAP开发FAQ
2007-11-23 22:08 30191. 开发WAP软件需要哪些 ... -
WML语言详解
2007-11-23 22:06 1277元素和标签是wml的主要语法,它们决定了wml编程的基本原则。 ...
相关推荐
【标题】:“Lucene学习资料收集” 【描述】:Lucene是一个开源的全文搜索引擎库,由Apache软件基金会开发。这个资料集可能包含了关于如何理解和使用Lucene的各种资源,特别是通过博主huanglz19871030在iteye上的...
《Lucene学习资料》 Lucene是一个开源的全文搜索引擎库,由Apache软件基金会维护。它提供了高级的文本分析和索引功能,使得开发者能够轻松地在应用程序中集成强大的搜索功能。这个资料包中的《Lucene in Action_2nd...
本文将主要围绕Java Lucene进行深入探讨,并基于提供的“Lucene学习源码.rar”文件中的“Lucene视频教程_讲解部分源码”展开讨论。 一、Lucene核心概念 1. 文档(Document):Lucene中的基本单位,用于存储待检索...
"lucene学习pdf2" 提供的文档,无疑是对Lucene深入理解的一把钥匙,它涵盖了Lucene的核心概念、操作流程以及高级特性。 首先,Lucene的基础知识是必不可少的。Lucene的核心在于索引和搜索,它将非结构化的文本数据...
【标题】:“Lucene学习-02” 在深入探讨“Lucene学习-02”这一主题之前,我们先来理解一下Lucene的核心概念。Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,广泛应用于各种搜索引擎和信息检索系统。...
**Lucene学习指南** Lucene是一个高性能、全文检索库,由Apache软件基金会开发并维护,是Java编程语言中广泛使用的搜索引擎库。它提供了一个简单的API,使得开发者能够方便地在应用中实现全文检索功能。本篇文章将...
lucene学习笔记 1 .txt lucene学习笔记 2.txt lucene学习笔记 3 .txt lucene入门实战.txt Lucene 的学习 .txt Lucene-2.0学习文档 .txt Lucene入门与使用 .txt lucene性能.txt 大富翁全文索引和查询的例子...
**Lucene学习工具包** Lucene是一个开源的全文搜索引擎库,由Apache软件基金会开发并维护。这个"Lucene学习工具包.zip"包含了学习Lucene所需的重要资料和资源,旨在帮助开发者深入理解和掌握Lucene的核心概念、功能...
**Lucene学习例子与文档详解** Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,它提供了完整的搜索功能,包括索引、查询、排序等。Lucene被广泛应用于各种需要全文检索的项目中,如网站、文档管理、...
**Lucene学习入门程序** Lucene是一个开源的全文搜索引擎库,由Apache软件基金会开发并维护。它是Java编写,可以被集成到各种应用中,提供强大的文本检索功能。本程序是针对初学者设计的,旨在帮助开发者快速理解并...
### Lucene 学习全方面剖析总结 #### Lucene 原理与应用概述 Lucene 是一个高性能、全文检索的开源库,被广泛应用于各种搜索引擎的开发之中。本篇文章旨在全面剖析 Lucene 的核心技术和应用场景,帮助读者深入理解...
**Lucene 学习笔记 1** Lucene 是一个全文搜索引擎库,由 Apache 软件基金会开发。它提供了一个可扩展的、高性能的搜索框架,使得开发者能够在其应用程序中集成高级的搜索功能。本篇学习笔记将深入探讨 Lucene 的...
【Lucene学习笔记】 Lucene是一个高性能、全文检索的开源库,完全用Java编写,能够帮助开发者在应用程序中实现复杂的搜索引擎功能。它提供了强大的索引和搜索机制,使得从大量文本数据中快速找到相关信息变得简单。...
标题:Lucene学习笔记 描述:Lucene学习笔记,Lucene入门必备材料 知识点: 一、Lucene概述与文档管理策略 Lucene是一款高性能、全功能的文本搜索引擎库,广泛应用于文档检索、全文搜索等场景。为了提升搜索效率...