Lucene 6大不足
来源:互联网 发布:莲实克蕾儿 知乎 编辑:程序博客网 时间:2024/04/28 06:12
Lucene是免费开放源代码的全文搜索引擎工具包,凭借着其强劲的搜索功能和简单易用的实现,在国内已经很普及,甚至一度出现了言搜索必称Lucene的盛景。
在国内对Lucene的介绍可以分为3块儿:
第一类是:以车东 的Lucene:基于Java的全文检索引擎简介 为代表的基础入门介绍;
第二类是Lucene倒排索引原理和Lucene软件包、实现类的介绍;
第三类是以中文分词为中心的介绍;
1、Lucene 的内建不支持群集。
Lucene是作为嵌入式的工具包的形式出现的,在核心代码上没有提供对群集的支持。实现对Lucene的群集有三种方式:1、继承实现一个 Directory;2、使用Solr 3、使用 Nutch+Hadoop;使用Solr你不得不用他的Index Server ,而使用Nutch你又不得不集成抓取的模块;
2、区间范围搜索速度非常缓慢;
Lucene的区间范围搜索,不是一开始就提供的是后来才加上的。对于在单个文档中term出现比较多的情况,搜索速度会变得很慢。因此作者称Lucene是一个高效的全文搜索引擎,其高效仅限于提供基本布尔查询 boolean queries;
3、排序算法的实现不是可插拔的,因为贯穿Lucene的排序算法的tf/idf 的实现,尽管term是可以设置boost或者扩展Lucene的Query类,但是对于复杂的排序算法定制还是有很大的局限性;
4、Lucene的结构设计不好;
Lucene的OO设计的非常糟,尽管有包package和类class,但是Lucene的设计基本上没有设计模式的身影。这是不是c或者c++程序员写java程序的通病?
A、Lucene中没有使用接口Interface,比如Query 类( BooleanQuery, SpanQuery, TermQuery...) 大都是从超类中继承下来的;
B、Lucene的迭代实现不自然: 没有hasNext() 方法, next() 返回一个布尔值 boolean然后刷新对象的上下文;
5、封闭设计的API使得扩展Lucene变得很困难;
参考第3点;
6、Lucene的搜索算法不适用于网格计算;
- Lucene 6大不足
- 不选择使用Lucene的6大原因
- 不选择使用Lucene的6大原因
- 不选择使用Lucene的6大原因
- 不选择使用Lucene的6大原因
- 不选择使用Lucene的6大原因?
- 细数Android平台5大不足
- 细数Android平台5大不足
- 高端卫浴市场潜力大 五大不足需改进
- 不选择使用Lucene的6大原因(转载) - Hubble.net 将尽可能解决这些问题
- Lucene 2.9 NumericRangeQuery 性能提升大
- 不足6位左补0 DecimalFormat
- HTC溃败两大原因:营销投入不足 迁就运营商
- 黄圣依张柏芝小S不足1.6米 实际身高大曝光
- JavaSE大复习--看完就知道自己的不足
- lucene源码分析---6
- lucene
- Lucene
- (视频)玩转Membership视频之八:PasswordRecovery控件的高级应用
- XHTML学习笔记(2)
- (视频)玩转Membership视频之九:LoginView控件的高级应用
- 网站制作
- csdn英雄大会一游
- Lucene 6大不足
- (视频)玩转Membership视频之十:基于ACCESS等数据库的membership
- XHTML学习笔记(3)之布局实例
- winforms中把listview导成excel文件源码
- Groovy On Grails足迹拾缀
- #include “filename.h”和#include 的区别?
- java clone
- 关于23种设计模式的有趣见解
- XHTML学习笔记(3)之自适应高度css