`
softtian1983
  • 浏览: 185128 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

lucene6大不足

阅读更多

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检索算法的改进.pdf

    2. **文档长度的影响**:文档越长,包含查询词的可能性越大,但得分反而可能较低。 3. **查询精确度不高**:基础排序算法往往难以精准地匹配用户的意图。 #### 改进的算法 为了克服基础排序算法的不足,文章提出...

    Lucene搜索引擎开发权威经典

    这本书以幽默轻松的写作风格,深入浅出地介绍了Lucene的基础知识和实践应用,虽然在深度上可能稍显不足,但其详尽的代码注释对于初学者来说是非常有价值的参考资料。 在书中,作者首先从第1章开始介绍Lucene的基础...

    lucene的查询

    - **需求背景**:随着网站规模的不断扩大,原有系统的不足逐渐显现,如索引重建耗时长、索引字段变更频繁、分词算法调整、搜索结果异常等问题日益突出。 - **改进方向**: - 实现自动重建索引,且在重建过程中能够...

    solr部署教程

    Solr的出现是为了弥补Lucene在企业管理、监控和服务支撑方面的不足,可以看作是Lucene在企业搜索领域的扩展。 【Solr的特性】 1. 高级全文搜索功能,包括模糊匹配和布尔运算。 2. 优化处理高流量的网络请求。 3. ...

    ikanalyzer-solr5/6

    IK Analyzer最初由杨洪强开发,旨在解决Mysql、Lucene等开源项目中对中文分词支持不足的问题。其核心特性包括: 1. 动态词典加载:IK支持在运行时动态更新词典,方便应对词汇的快速变化。 2. 精细分词模式:提供...

    分布式弹性搜索研究与实践.pdf

    尽管如此,Lucene在处理分布式存储管理与集群搜索管理上存在一些不足。Elasticsearch是建立在Lucene之上,提供了一套完整的分布式搜索解决方案,具有高度可扩展性、实时性和易用性。它通过对外暴露RESTful API,使得...

    6-5+搜索引擎的搭建.pdf

    在有赞的实践中,部署和架构设计考虑了各种因素,如系统限制(ulimit、vm.max_map_count、堆大小、GC设置、大页内存)、服务设置(如内存锁定、ping设置、最小主节点数)、索引设置(模板配置、分片/副本数量、刷新...

    网站搜索的进化PPT学习教案.pptx

    这种方法虽然简单,但随着数据量的增长和用户需求的复杂化,其效率和灵活性逐渐变得不足。 2. 中期搜索变化: 面对大量数据和频繁的搜索请求,数据库层面的搜索不再适用,于是出现了各种全文检索引擎工具和应用,...

    Apache Hadoop---Solr.docx

    6. Solr 基于 Zookeeper,支持分布式、备份和再平衡,以确保高可用性和容错能力。 7. 采用插件架构,易于扩展,提供了许多扩展点以满足定制需求。 系统架构方面,SolrHome 是 Solr 运行的主要目录,包含多个独立的 ...

    elasticsearch-head-chrome插件.rar

    Elasticsearch(简称ES)是基于Lucene构建的一款开源、分布式、RESTful搜索和分析引擎。它允许用户快速存储、搜索和分析大量数据。然而,Elasticsearch的默认命令行操作对新手来说可能有些复杂,而Head插件的出现则...

    ES笔记 20201012

    - 安装过程中可能会遇到虚拟内存不足的问题,这需要调整系统的 `vm.max_map_count` 参数。临时解决方案是直接修改系统设置,永久解决方案是在 `/etc/sysctl.conf` 文件中添加相应配置并重启系统。 5. **安装 IK ...

    一种全文检索的思路和实现(论文提纲)

    6. 信息检索的挑战和不足 信息检索是一个复杂的过程,存在许多挑战和不足,例如信息的爆炸式增长、信息的异构性、信息的噪声等。 7. 全文检索在信息社会中的应用 全文检索在信息社会中的应用非常广泛,例如搜索...

    ESCrossClusterSearch生产实践.pdf

    - “ES”代表Elasticsearch,一款基于Lucene的搜索引擎,用于全文搜索和分析。 - “Cross-Cluster Search”指的是跨集群搜索,这是Elasticsearch的一个功能,用于在多个Elasticsearch集群之间搜索数据。 - “生产...

    solr中文分词器

    Solr中文分词器是针对Apache Solr全文检索引擎在处理中文文本时的不足而设计的一种解决方案。Solr默认的分词策略主要针对英文文本,它以空格为分隔符进行分词,而对于中文这种没有明显分隔符的语言,就需要特定的...

    elasticsearch-8.0.1-linux-x86_64.tar.gz

    Elasticsearch是一个开源的全文搜索引擎,它基于Lucene构建,被广泛应用于大数据分析和实时搜索领域。8.0.1是其一个重要的版本更新,针对Linux操作系统进行了优化,特别是对于x86_64架构的服务器。这个压缩包`...

    Chrome的ES-Head0.1.5插件,拖入浏览器即可使用

    Elasticsearch是一种分布式、开源的全文搜索引擎,基于Lucene构建,具有实时分析、高可扩展性和高可用性的特点。它不仅用于搜索,还广泛应用于日志分析、监控、数据可视化等多个领域。Elasticsearch的设计理念是使...

    kibana-5.6.9-linux-x86_64.tar.gz

    Elasticsearch是一种基于Lucene的分布式、RESTful搜索引擎,广泛应用于日志分析、全文检索以及实时数据分析等领域。而Kibana则弥补了Elasticsearch在用户界面和交互方面的不足,使其成为了一款功能完备的数据分析和...

    Elasticsearch优点和缺点以及要点和难点具体应用.zip

    6. **数据分析**:通过聚合操作,Elasticsearch可以进行复杂的数据分析,例如统计、排序、分组等,是大数据分析的重要工具。 **三、Elasticsearch的缺点** 1. **资源消耗**:Elasticsearch在处理大量数据时,内存...

Global site tag (gtag.js) - Google Analytics