Lucene结合JavaEE建立简单搜索引擎(Java 9读取有坑)

  最近试用了一下Lucene这个搜索框架,发觉还是蛮不错的。许多现在比较火的搜索服务器(如Elasticsearch)的内核用的就是Lucene。目前手头有一个小的JavaEE项目程序,想着再给它装一个Elasticsearch服务器似乎太浪费资源,所需要的搜索功能其实很简单,不需要太复杂。于是,何不趁机学学它的内核框架Lucene如何使用呢?

  使用Lucene有很多种模式,本文就拿最简单的模式讲起,其基本流程如下:

  1、用Lucene的包读取所需的数据 --> 创建索引 --> 保存索引文件

  2、用Lucene的包读取索引文件 --> 使用搜索服务

  了解这两个流程以后,基本上对Lucene的使用就能大体了解,剩下的无非是怎么读要检索的数据源(从数据库、文件、还是其它网络服务器),怎么建立索引(哪个域需要分词和索引、哪些数据不需要分词只需要单独的存储、使用什么分词器、中文还是其它什么语言)

  目前项目的需求是为项目内的静态网页提供搜索服务,而网页的内容都是中文,因此还需要经过加工和分词的过程。最终的目标,是做一个类似简单的百度的功能。以下是获取到数据后的索引建立部分代码(INDEXDIR为存储索引的目录):

    private static void index(List<String[]> webAndContentList) throws IOException{
        Directory dir = FSDirectory.open(Paths.get(INDEXDIR));
        Analyzer analyzer;
        analyzer = g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值