- 浏览: 864007 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (280)
- java相关 (29)
- linux系统 (55)
- ipsec (0)
- ssl (3)
- 信息安全 (13)
- web相关 (35)
- windows (9)
- c,c++ (14)
- log4j (3)
- hibernate (8)
- sqlite (1)
- 程序人生 (2)
- js (2)
- 生活点滴 (3)
- 网络相关 (14)
- 问题积累 (15)
- 数据库相关 (27)
- 软件测试 (2)
- PKI相关 (2)
- 程序设计 (7)
- 犄角旮旯 (0)
- 杂七杂八 (0)
- 硬件相关 (14)
- 防火墙 (2)
- 电子商务 (2)
- 多媒体相关 (1)
- 内存管理 (4)
- 面向对象 (1)
- csp (1)
- 驱动开发 (3)
- 移动开发 (2)
- openssl多线程实例 (1)
最新评论
-
xiaoyao3857:
博主很有探索精神嘛,学习了
Linux主机名Hostname详解 -
hiskyrisa:
言简意赅,好文章。
Flex是什么 -
layznet:
犯了类似错误。使用的是derby数据库。driverClass ...
java.sql.SQLException: No suitable driver -
idision:
你好,文章有一句createSubjectKeyId(keyT ...
bouncycastle 产生证书 -
zheng12tian:
代码有全的不?只贴一部分,,,,
在LOG4J中把日志写入远程数据库
什么是lucene
Apache Lucene是一个开放源程序的搜寻器引擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高,Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的是使使用者可以随时应自已需要自订其功能。 Lucene是apache软件基金会项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。
Lucene的作者:
Lucene的原作者是Doug Cutting,他是一位资深全文索引/检索专家,曾经是V-Twin搜索引擎的主要开发者,后在Excite担任高级系统架构设计师,目前从事于一些Internet底层架构的研究。
Lucene的历史:
早先发布在作者自己的http://www.lucene.com/,后来发布在SourceForge,2001年年底成为apache软件基金会jakarta的一个子项目。 现在则是apache的顶级项目http://lucene.apache.org/
Lucene应用:
apache软件基金会的网站使用了Lucene作为全文检索的引擎
IBM的开源软件eclipse也采用了Lucene作为帮助子系统的全文索引引擎,
相应的IBM的商业软件Web Sphere中也采用了Lucene。
著名的Jive论坛使用了它
Eyebrows(EyeBrows是目前APACHE项目的主要邮件列表归档系统)邮件列表HTML归档/浏览/查询系统
也使用了它
Lucene以其开放源代码的特性、优异的索引结构、良好的系统架构获得了越来越多的应用。
Cocoon:基于XML的web发布框架,全文检索部分使用了Lucene
到现在lucene已经有C++、C#、Python和Perl的版本
更多关于lucene的应用见这里:http://wiki.apache.org/lucene-java/PoweredBy
Lucene能做什么
Lucene使你可以为你的应用程序添加索引和搜索能力(这些功能将在1.3节中描述)。Lucene可以索引并能使得可以转换成文本格式的任何数据能够被搜索。在图1.5可以看出,Lucene并不关心数据的来源、格式甚至它的语言,只要你能将它转换为文本。这就意味着你可经索引并搜索存放于文件中的数据:在远程服务器上的web页面,存于本地文件系统的文档,简单的文本文件,微软Word文档,HTML或PDF文件或任何其它能够提取出文本信息的格式。
同样,利用Lucene你可以索引存放于数据库中的数据,提供给用户很多数据库没有提供的
全文搜索的能力。一旦你集成了Lucene,你的应用程序的用户就能够像这样来搜索:+George +Rice –eat –pudding, Apple –pie +Tiger, animal:monkey AND food:banana等等。利用Lucene,你可以索引和搜索email邮件,邮件列表档案,即时聊天记录,你的Wiki页面……等等更多。
Lucene资料:
Lucene主页:http://lucene.apache.org/
中文的lucene教程: http://www.chedong.com/tech/lucene.html#intro
写的很好的lucene书:lucene in action
luceneAPI:http://lucene.zones.apache.org:8080/hudson/job/Lucene-Nightly/javadoc/
lucene in action 示例代码:http://www.manning.com/hatcher2
lucene 的wiki:http://wiki.apache.org/lucene-java/FrontPage?action=show&redirect=FrontPageEN
Lucene的优点:
(1)索引文件格式独立于应用平台。Lucene定义了一套以8位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。
(2)在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度。然后通过与原有索引的合并,达到优化的目的。
(3)优秀的面向对象的系统架构,使得对于Lucene扩展的学习难度降低,方便扩充新功能。
(4)设计了独立于语言和文件格式的文本分析接口,索引器通过接受Token流完成索引文件的创立,用户扩展新的语言和文件格式,只需要实现文本分析的接口。
(5)已经默认实现了一套强大的查询引擎,用户无需自己编写代码即使系统可获得强大的查询能力,Lucene的查询实现中默认实现了布尔操作、模糊查询、分组查询等等。
Lucene的周边
Nutch vs Lucene
Lucene 不是完整的应用程序,而是一个用于实现全文检索的软件库。
Nutch 是一个应用程序,可以以 Lucene 为基础实现搜索引擎应用。
Nutch vs Larbin
"Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供Nutch vs Larbin
"Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供
Nutch 则还可以存储到数据库并建立索引。
搜索的概念(本段来自lucene in action原文):
索引和搜索
所有搜索引擎的核心就是索引的概念:将原始数据处理成一个高效的交差引用的查找结构以便于快速的搜索。让我们对索引和搜索过程做一次快速的高层次的浏览。
什么是索引,为什么它很重要?
想像一下,你需要搜索大量的文件,并且你想找出包含一个指定的词或短语的文件。你如何编写一个程序来做到这个?一个幼稚的方法是针对给定的词或短语顺序扫描每个文件。这个方法有很多缺点,最明显的就是它不适合于大量的文件或者文件非常巨大的情况。这时就出现了索引:为了快速搜索大量的文本,你必须首先索引那个文本然后把它转化为一个可以让你快速搜索的格式,除去缓慢的顺序地扫描过程。这个转化过程称为索引,它的输出称为一条索引。你可以把索引理解为一个可以让你快速随机访问存于其内部的词的数据结构。它隐含的概念类似于一本书最后的索引,可以让你快速找到讨论指定主题的页面。在Lucene中,一个索引是一个精心设计的数据结构,在文件系统中存储为一组索引文件。我们在附录B中详细地说明了索引文件的结构,但是目前你只须认为Lucene的索引是一个能快速的词汇查找的工具。
什么是搜索?
搜索是在一个索引中查找单词来找出它们所出现的文档的过程。一个搜索的质量用精确度和召回率来描述。召回率衡量搜索系统搜索到相关文档的能力,精确度衡量系统过滤不相关文档的能力。然而,在考虑搜索时你必须考虑其它一些因素。我们已经提到速度和快速搜索大量文本的能力。支持单个和多个词汇的查询,短语查询,通配符,结果分级和排序也是很重要的,在输入这些查询的时候也是友好的语法。Lucene强大的软件库提供了大量的搜索特征、bells和whistles,
发表评论
-
关于Bad version number in .class file的问题
2010-11-15 14:20 998关于Bad version number in .class ... -
一个获取文件crc32校验码的简洁的java类
2010-05-12 19:48 3273从jdk1.4开始,java核心包里已经提供对crc计算的支持 ... -
Windows下Apache与Tomcat的整合
2010-05-12 13:52 1077为了完成这个任务,在 ... -
SSL双向认证java实现
2010-05-09 11:35 1795本文通过模拟场景,介 ... -
java.util.ResourceBundle 使用详解
2010-04-28 19:39 852一、认识国际化资源文件 这个类提供软件国际化的捷 ... -
基于JAAS实现登录
2010-04-25 22:11 1259JAAS:Java Authentication and ... -
什么是JAAS,以及灵活的Java安全机制
2010-04-25 22:05 1888今天在论坛上看到JASS,不清楚是什么呢,网上找了一下,受益良 ... -
Java插件技术
2010-04-25 21:31 21451.Java插件技术 Java插件技术(Java Plu ... -
java RMI的例子(转)
2010-04-25 21:11 948参考别人的程序后写了个自己的RMI 程序RMI ,远程方法 ... -
Java安全通信、数字证书及应用实践(转)
2010-04-21 21:05 1672摘要 : 在本文 ... -
Eclips 内存溢出
2010-04-13 16:26 1039在Eclipse 根目录下找到eclipse .ini ... -
Eclipse 启动不起来异常:JVM terminated. Exit code=-1
2010-04-11 10:09 7458Eclipse 启动不起来,出现以下错误: ... -
Java程序员需要了解的几个开源协议介绍
2009-12-21 21:32 1117介绍几个比较常见的开 ... -
Java基础:Java中堆内存与栈内存分配浅析
2009-08-11 20:19 1346Java 把内存划分成两种:一种是栈内存,另一种是堆内存 ... -
对synchronized(this)的一些理解
2009-07-23 10:21 1173一、当两个并发线程访问同一个对象object中的这个synch ... -
Linux下JNI调用
2009-07-09 12:43 1458整个实现过程可以分为五步来完成: 1)写一个声明了nativ ... -
如何在Java中执行其它程序
2009-07-09 12:42 2305在编写Java程序时,有时 ... -
linux下jdk的安装与卸载
2009-07-06 10:46 2103下面是卸载步骤: 用ro ... -
JNI技术小试
2009-06-23 14:28 1231目前 java 与 dll 交互的技术主要有 ... -
java.util.Date和java.sql.Date的区别及应用
2009-06-21 14:35 1135java.util.Date 就是在除了SQL语句的情况下面使 ...
相关推荐
Apache Lucene是一个高性能、全文本搜索库,由Java编写,被广泛用于开发搜索引擎和需要文本检索功能的应用程序。Apache Lucene 4.7是该库的一个版本,它提供了丰富的功能和改进,使得开发者能够轻松地在他们的应用中...
### Apache Lucene教程知识点概述 #### 一、Apache Lucene简介 - **Lucene定义**:Lucene是一款高性能、全功能的文本搜索引擎库,由Java编写而成,是Apache基金会下的一个开源项目。 - **发展历程**:自1999年由...
Apache Lucene.Net 2.4.0 API
import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriter; import org...
Apache Lucene是一个开源的全文搜索引擎库,...以上是对Apache Lucene 4.10.3版本的一些核心知识点的介绍。这个版本不仅提供了强大的搜索能力,还支持信息检索的各种复杂需求,是开发人员构建高效搜索功能的首选工具。
Apache Lucene是一个高性能、全文本搜索库,由Java编写,被广泛应用于各种搜索引擎的开发中。这个入门实例将引导我们了解如何使用Lucene 3.0版本进行基本的索引和搜索操作。以下是对Lucene 3.0关键知识点的详细讲解...
jar包,亲测可用
apache lucene中文版是一款非常好用的检索工具包,使用方便,功能强大,有需要的朋友不要错过了,而且是完全开放的,你可以自由进行使用,可以支持多种检索功能。兼容多个操作系统,下载后可以直接使用,没有任何...
org.apache.lucene.analysis.cjk.CJKAnalyzer .......
Rucene,作为Apache Lucene的Rust版本,为开发者提供了一种在Rust编程语言中实现高效全文搜索引擎的途径。Apache Lucene是一个广泛使用的开源Java库,专门用于构建高级文本检索功能,而Rucene则将这些功能带入了Rust...
Apache Lucene.Net is a C# full-text search engine. Apache Lucene.Net is not a complete application, but rather a code library and API that can easily be used to add search capabilities to applications...
http://archive.apache.org/dist/lucene/java/ 这个是lucene的历史版本 http://archive.apache.org/dist/lucene/solr/ 这个是solr的历史版本
【Lucene介绍】 Lucene是一个基于Java的全文检索库,由Apache软件基金会的Jakarta项目维护。它不是一个完整的全文搜索引擎,而是一个可嵌入到其他应用程序中的库,用于实现高效、快速的全文检索功能。Lucene的目标...
Apache Lucene.NET.NET的全文本搜索Apache Lucene.NET是.NET全文搜索引擎框架,是流行的Apache Lucene项目的C#端口。 Apache Lucene.NET并不是一个完整的应用程序,而是可以轻松用于向应用程序添加搜索功能的代码库...
Apache Lucene是一个高性能、全文本搜索库,广泛用于构建搜索引擎应用程序。这个名为"apache-lucene-analyzers.jar"的文件是Lucene项目的一部分,主要包含了各种分析器(analyzers)的实现,它们在处理文本数据时起...
Maven坐标:org.apache.lucene:lucene-core:7.7.0; 标签:apache、lucene、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档...
总结了一些实用的demo 包括: 1.建立索引 2.通过IKAnalyzer搜索中文关键词 3.复杂的多字段搜索 4.多线程并发搜索,通过contiperf测试,详见:...lucene支持多线程并发搜索和建索引,只要IndexWriter是单例模式即可
java源系统apache-lucene开头 “ Apache Lucene的开始:Java /开源/全文搜索系统的构建”的代码kata。 这是关口浩二(Koji Sekiguchi)的“ Apache Lucene简介:Java,开放源代码和全文本搜索系统的构建”(2006年...
起初,Lucene 在 Doug 的个人网站上发布,后来移至 SourceForge,并最终在 2001 年底成为 Apache 基金会 Jakarta 项目的一部分,现在可以在 Apache 的官方网站上找到(http://lucene.apache.org)。 **全文检索的...
elasticsearchElasticsearch是一个基于Apache Lucene构建的开源分布式搜索和分析引擎,专为云计算环境设计,能够迅速且有效地处理大规模数据集。以下是Elasticsearch的详细介绍: 一、基本特性 分布式架构:Elastic...