`
lkjust08
  • 浏览: 15665 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

luence学习(一)

阅读更多

      因单位很多系统都是用lucene作为搜索引擎,故本人最近也抽出了一点时间看了看lucene特在此做下笔记。

      lucene一个开源项目,目前很成功,依本人从网上搜的内容来看,lucene不是一个完整的全文索引应用,而是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。

      大家可以参考http://www.chedong.com/tech/lucene.html了解更多的东西。

      个人理解,lucene是将检索内容处理它自已可以快速检索的特定格式的内容。然后通过lucene,我们能够快速的检索。由此看来luence提供了两大部分重要的API:1,抽取索引,2,检索索引。

      那么lucene是怎么从数据中抽取索引,个人觉得luence只是提供了把必要信息组成lucene能够识别的索引文件,对于怎么从源数据中抽索引,lucene没有提供,其实luence也没法提供,因为来源数据太多。下面拿lucene数据库数据结构作个比较:

Lucene 数据库
索引数据源:doc(field1,field2...) doc(field1,field2...)
                  \  indexer /
                 _____________
                | Lucene Index|
                --------------
                 / searcher \
 结果输出:Hits(doc(field1,field2) doc(field1...))
索引数据源:record(field1,field2...) record(field1..)
              \  SQL: insert/
               _____________
              | DB  Index   |
               -------------
              / SQL: select \
结果输出:results(record(field1,field2..) record(fie
Document:一个需要进行索引的“单元”,一个Document由多个字段组成 Record:记录,包含多个字段
Field:字段 Field:字段
Hits:查询结果集,由匹配的Document组成 RecordSet:查询结果集,由多个Record组成

 

通过这个表格应该很清楚看懂lucene的索引与数据库里的索引的结构。

 

      lucene址:http://www.apache.org/dyn/closer.cgi/lucene/java/,这里我下载的是3.0.0的版本,打开压缩包后,里面的scr夹子和lucene-core-3.0.0.jar,lucene-demos-3.0.0.jar,luceneweb.war,src下有一个demo和jsp,是两个lucene的示例的源码,你可以用一些IDE新建一个工程,将demo的源码导进去,要运行的话得将lucene-core-3.0.0.jar加入到classpath中,而luceneweb.war我们直接拷贝到tomcat的webapp下,启动tomcat就行了,然后可以访问luceneweb,当我们输入检索词后,点击搜索按钮后发现报错:

An error occurred at line: 98 in the jsp file: /results.jsp
The constructor QueryParser(String, Analyzer) is undefined
95: 
96:                 Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);           //construct our usual analyzer
97:                 try {
98:                         QueryParser qp = new QueryParser("contents", analyzer);
99:                         query = qp.parse(queryString); //parse the 
100:                 } catch (ParseException e) {                          //query and construct the Query
101:                                                                       //object

 这是因为luceneweb这个web应用用的是lucene早期版本的API写的,所以在这里运行报错。

 

至于lucene的应用示例,je上很多,大家可以参考下面这篇文章,写的很详细,这里就不多说了。http://www.iteye.com/topic/39597

 

 

0
0
分享到:
评论

相关推荐

    Luence.net搜索小程序

    通过"Luence.net搜索小程序",我们可以学习到如何实现实时搜索、高亮显示、盘古分词以及智能匹配等一系列高级搜索功能。 首先,Luence.net是Apache Lucene项目的一个.NET版本,Lucene作为业界知名的全文搜索引擎库...

    lucene学习lucene学习

    Lucene 是一个强大的全文搜索引擎库,它以 Java 语言实现,并作为 Apache 软件基金会的 Apache Jakarta 项目的一部分开放源代码。Lucene 提供了高效、可扩展的索引和搜索功能,允许开发者轻松地在应用程序中集成高级...

    Luence搜索Demo

    总结来说,Luence.Net搜索Demo是一个极好的学习资源,它展示了如何利用Luence进行全文搜索,涵盖了从索引构建、查询解析到结果展示的全过程。通过深入研究和实践,开发者可以提升在.NET环境中构建高效搜索引擎的能力...

    luence4.6例子

    5. **luence46**: 这个压缩包可能包含了Lucene 4.6版本的源代码,源码提供了深入了解其内部工作原理的机会。你可以通过阅读和分析源代码,学习如何实现自己的搜索功能,或者优化现有系统的搜索性能。 通过对...

    luence索引例子

    描述中提到“使用luence索引数据库中的记录”,意味着我们将学习如何将数据库中的数据转化为Lucene可处理的格式,并创建索引。这个过程通常包括以下步骤: 1. **初始化Lucene**: 创建一个`Directory`对象,这是...

    Luence简单实例

    **Lucene简介** Lucene是Apache软件基金会的一个开放源代码项目,它是一个高性能、全文本检索库,提供了Java实现的...这种实例有助于开发者快速理解和掌握Lucene的基本用法,为进一步深入学习和应用Lucene打下基础。

    前后端分离的使用spring Mvc、 mybatis、 luence、 spring 开发的开源知识库系统的所有后端端源码

    在IT行业中,前后端分离是一种常见的软件开发模式,它将应用程序分为两个主要部分:前端(用户界面)和后端(服务器...对于学习和研究Java Web开发的人员来说,这是一个宝贵的资源,可以深入了解这些技术的实际应用。

    Luence in Action 中英文pdf 版

    《Lucene in Action》是一本深入探讨Apache Lucene的权威指南,这本书的中英文PDF版本提供了全面了解和学习这个搜索引擎库的机会。Lucene是Java开发的一款高性能、全文本搜索库,广泛应用于各种需要强大搜索功能的...

    lucene基础学习笔记&源码

    **Lucene 基础学习笔记与源码分析** **一、Lucene 概述** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发并维护。它是一个 Java 开发的开源项目,被广泛应用于各种搜索引擎的构建,支持多种编程...

    Lucene5学习之FunctionQuery功能查询

    **标题解析:** "Lucene5学习之FunctionQuery功能查询" Lucene5是Apache Lucene的一个版本,这是一个高性能、全文本搜索库,广泛应用于搜索引擎和其他需要高效文本检索的系统。FunctionQuery是Lucene中的一种查询...

    VerticalSearcher:基本的垂直搜索引擎,实现了基本的网络爬虫功能以及用Luence实现检索

    这个项目不仅为开发者提供了学习搜索引擎原理的实践平台,也为有需求的企业或个人提供了快速搭建自定义搜索引擎的可能。通过深入理解和优化这个项目,我们可以更好地理解搜索引擎的工作机制,从而提升信息检索的效率...

    Lucene 索引图形化界面工具 LukeAll 3.5~4.0

    - `luke-src-3.5.0.tgz`:同样,这是 LukeAll 3.5.0 版本的源代码,供开发者研究和学习使用。 总的来说,LukeAll 提供了一个直观的图形化界面,使得 Lucene 索引的管理和调试变得更加简单,无论对于初学者还是经验...

    Lucene的应用

    ### Lucene的应用 #### Lucene简介 Lucene是一款由Doug Cutting开发并维护的高性能全文检索工具包,最初在2001年10月被贡献给...无论是对于初学者还是经验丰富的开发者来说,Lucene都是一个值得深入学习的技术。

    人工智能-项目实践-搜索引擎-基本的垂直搜索引擎,实现了基本的网络爬虫功能以及用Luence实现检索

    《构建垂直搜索引擎:从爬虫到Lucene检索》 在当今信息爆炸的时代,搜索引擎成为了我们获取...通过这个项目,你可以深入学习到Java编程、网页抓取、文本处理和搜索引擎核心技术,为今后的AI项目开发打下坚实的基础。

    lucene3.0资料包

    **正文** Lucene是一个开源全文检索库,由Apache软件基金会开发。它提供了强大的文本分析、索引和搜索功能,广泛应用于各种信息检索系统...通过深入学习和应用Lucene3.0,开发者可以构建出高效、智能的信息检索系统。

    Lucene3.0_pdf

    通过《Lucene3.0原理与代码分析》的学习,读者可以掌握如何利用Lucene构建自己的全文搜索引擎,理解其高效检索背后的算法和技术,并能根据实际需求定制和优化索引和查询流程。尽管本文档基于3.0版本,但Lucene的基本...

    Lucene基类UML图

    总结起来,"Lucene基类UML图"是学习和理解Lucene框架的重要辅助工具,它直观地展示了Lucene类之间的层次结构、接口关系以及方法调用流程。通过对这个图的深入分析,开发者可以更清晰地把握Lucene的工作机制,从而更...

    Lucene搜索例子

    它涵盖了索引创建、查询执行和结果分页的关键步骤,是学习和理解Lucene搜索引擎功能的绝佳实践。通过深入理解和实践这个例子,开发者可以更好地掌握Lucene在实际应用中的用法,提升其信息检索系统的效率和用户体验。

    基于lucene和nutch的开源搜索引擎资料集合

    一个例子学懂搜索引擎(lucene).doc 中文搜索引擎技术揭密.doc 九大开源搜索引擎介绍.txt 基于Nutch的搜索引擎技术.pdf 基于开源工具搭建小型搜索引擎.pdf 整合开源工具的小型搜索引擎构建.pdf 用_Hadoop_进行分布式...

    揭秘搜索引擎技术实战--Lucene%26Java精华版_....pdf

    这本书的电子版是仅供个人学习使用,严禁用于商业目的。因此,在使用本书内容时,应该遵守相应的版权法律规定,并尊重原作者的知识产权。如果需要进一步的商业应用或者有版权疑问,应该联系原作者或者出版社进行咨询...

Global site tag (gtag.js) - Google Analytics