Lucene初识(Java开源搜索引擎)

来源:互联网 发布:网上宿迁网络问政 编辑:程序博客网 时间:2024/04/29 17:24

1.为什么不用mysql的like去进行全文搜索

我最近在完成一个新闻门户网站,有个站内搜索功能,可以搜索标题和内容

1.如果是用mysql进行全文搜索的话,会有以下情况:

我想搜索”京东金融”的新闻,但是我输入的却是”京东公司”,这样是无法搜索出来的

如果这样做,我需要把文章内容”京东/金融”分开并建立索引,并且在获得用户的搜索关键词的时候需要对关键词做出切割,这样的工作相当大。

2.Lucene简单介绍

1.Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。(以上内容来自百度百科)

2.总而言之,lucene能帮你快速建立你自己的站内搜索引擎

3.Lucene下载

1.官网:http://lucene.apache.org/

2.点击右边绿色按钮,下载apache Lucene

Apache Lucene官网

3.点击 the Apache Mirrors,这个地址是Apache的镜像网站,另一个是apache的文档管理器

这里写图片描述

4.在这个位置下载最后一个zip包

这里写图片描述

4.下载好Lucene后,介绍一下关于Lucene的文件目录

1.初学Lucene,主要的jar包都放在以下目录里:

这里写图片描述

1.analysis:这个文件夹里的common子文件夹里的jar包是分词器,什么是分词器,举个简单的例子:
三星部分可升级安卓7.0设备名单放出三星/部分/可升级/安卓/7.0/设备/名单/放出

这就是分词,但是Lucene提供的分词器默认为一元分词器,也就是

三星部分可升级安卓7.0设备名单放出三/星/部/分/可/升/级/安/卓/7/./0/设/备/名/单/放/出

这就是一元分词,很无力,我们是用Lucene的时候会替换原来的分词器,到时候我再介绍。

2.core:核心包,提供主要方法
3.docs:里面放了Lucene的API文档,只不过是英文的,要适应下读英文手册
4.highlighter:这个包负责高亮搜索结果里的搜索关键词,比如站内搜索:
搜索“京东”结果:京东公司营销额上升这个包就会对这个结果进行这样的加工:<span style="color:red">京东</span>公司营销额上升
5.最后两个是关于关键词查询有关的jar包

这次介绍就到这里,下一篇我将简单使用Lucene搜索结果

0 0
原创粉丝点击