lucene

lucene适用于全文检索,文件内容检索,目前少数情境下会使用lucene,而不用sql
一.
原始记录表+索引表
1.lucene索引库在硬盘中,原始库接受的是Document对象,通过IndexWriter流写入硬盘。
2.检索:传入关键字,指定查询字段。IndexSearcher流查询得到索引表中的TopDocs对象(012),进而得到索引表中封装编号和分数的ScoreDoc对象,便可以得到编号。编号可以得到原始表的document对象
3.Document与javaBean相互转换很麻烦,可写工具类再重构Document与javaBean部分冗余代码
4.lucene增删改查.

二.
1.每次插入会产生一个文件,导致文件数量问题,可文件合并,可指定任意数量合并。
2.索引表存在于硬盘,可以同步到内存索引表提高性能。并且结束时把内存索引表同步到硬盘索引表。
3.lucene存在内置分词器,也可以使用第三方分词器。中文可以推荐一款IKAnalyzer。
4.可以设置查询关键字高亮
5.可以设置查询后展示排序规则
6.之前写死内容查询,其实可以在多个字段查询:title,content

new MultiFieldQueryParser(LuceneUtil.getVersion(),new String[]{"content","title"},LuceneUtil.getAnalyzer());
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值