`

lucene2.4源码学习1

阅读更多
先来看看lucene的总体情况



可以看到lucene代码代码行数是36099行,一共344个类。当然注释也有18302行。是代码行数的一半,这个其实是很好的,但是对于英文不好的我表示比较蛋疼。
而且indexwrite有2000多行代码,有点多,还好这样的类比较少,绝大多数都是200行以下。这点也是给了不少信息啊。




看看lucene的包依赖情况



  1.CC - Concrete Class Count
    2.AC - Abstract Class (and Interface) Count
    3.Ca - Afferent Couplings (Ca)    
    4.Ce - Efferent Couplings (Ce)
     5.A - Abstractness (0-1)
     6.I - Instability (0-1)
     7.D - Distance from the Main Sequence (0-1)
     8.V - Volatility (0-1)
     9.Cyclic - If the package contains a dependency cycle 

ac:抽象类,包括接口  (
cc:非抽象类
a:抽象类占的比例   ac/(ac+cc)

ca:依赖的包的数量
ce:被依赖的包的数量
I: 越大越不稳定 ce/(ca+ce)  通俗点说几十依赖越多越不稳定。

可以看到lucene的index,search是很重要的包。同时这两个包的类的数量也是最多的。

最后来看看各个包的调用图






  • 大小: 20 KB
  • 大小: 41.6 KB
  • 大小: 20.3 KB
  • 大小: 156.4 KB
2
0
分享到:
评论
2 楼 huangyunbin 2013-03-18  
jet_cat 写道
这些信息从哪里得到的呢,用的工具吗?
工具能共享下吗?


都是eclipse的插件,一个叫jdepend,一个就是统计代码行数的个人写的插件。
1 楼 jet_cat 2013-03-18  
这些信息从哪里得到的呢,用的工具吗?
工具能共享下吗?

相关推荐

    庖丁解牛 源码 for Lucene 2.4

    通过对Paoding Lucene的源码学习,开发者可以了解到如何在Lucene的基础上定制适合中文环境的搜索引擎,理解其内部的分词策略、索引构建过程以及查询优化技术。这对于从事Java搜索引擎开发或者希望提升中文搜索质量的...

    lucene2.4+nutch学习笔记三:lucene 在多个文本文档里找出包含一些关键字的文档

    《Lucene 2.4与Nutch学习笔记:在多文本文档中搜索关键词》 Lucene是一个高性能、全文本搜索引擎库,它为开发者提供了在Java应用程序中实现全文搜索功能的基本工具。Nutch则是一个开源的网络爬虫项目,用于抓取...

    Lucene2.4.1

    总结来说,Lucene 2.4.1是搜索引擎开发的重要工具,其源码的分析与学习对于提升对全文检索技术的理解至关重要。无论是熟悉核心包的类与接口,还是实践demos包中的示例,都将有助于开发者更好地利用Lucene构建高效、...

    lucene-5.4.0

    3.1 源码结构:Lucene的源代码组织清晰,包括索引模块、查询模块、分析模块等多个子模块,便于理解和学习。 3.2 索引过程:通过`IndexWriter`进行索引创建和更新,涉及`Term`, `TermInfo`, `TermEnum`等类,理解...

    Lucene教程

    ## 1. Lucene基础 Lucene的主要工作流程包括索引和搜索两个阶段。首先,通过读取数据源(如文件、数据库等)并分析文本内容,创建索引。索引是高效搜索的关键,它将文本内容转换成倒排索引结构,使得搜索过程可以...

    Apache Nutch v2.4.zip

    这个压缩包 "Apache Nutch v2.4.zip" 包含了 Apache Nutch 的 v2.4 版本源代码,是学习和研究网络爬虫技术的理想资源。下面将详细介绍 Apache Nutch v2.4 的主要特性和相关知识点。 1. **Apache Nutch 概述**: ...

    lucene_7_4_0

    IDEA工程可以直接运行和调试Lucene的源码,这对于学习其内部工作机制和解决实际问题非常有帮助。通过设置断点,观察类的实例化过程,跟踪方法调用,可以深入了解Lucene的实现细节。 总结,Lucene 7.4.0作为一款强大...

    lucune3.0 及高亮显示 所需的包及代码

    标签“源码”表明内容可能涉及到Lucene 3.0的源代码分析,这对于开发者来说是深入理解其工作原理和定制功能的关键。而“工具”可能意味着博主分享了一些辅助开发的工具或技巧,例如使用IDE插件来更好地集成和调试...

    elasticsearch-5.0.1-core-main源码(eclipse工程的)

    源码转换成 Eclipse 工程后,开发者可以直接在 IDE 中浏览和调试代码,便于理解和学习 Elasticsearch 的工作原理。`Gradle` 的构建工具通过配置文件 (`build.gradle`) 管理依赖和构建过程,使得开发更加便捷。 ### ...

    Hadoop入门学习文档

    ##### 2.4 Hadoop组成 - **HDFS (Hadoop Distributed File System)**:分布式文件系统,用于存储大规模数据。 - **MapReduce**:分布式编程模型,用于处理大规模数据集。 - **其他组件**:如YARN(Yet Another ...

    ElasticSearch中文学习教程

    **2.4. 配置详解** ElasticSearch的配置文件通常位于`config/elasticsearch.yml`中。配置项涉及集群名称、节点名称、网络绑定地址、JVM参数等。理解这些配置项对于调整性能至关重要。 **2.5. 管理工具** Elastic...

Global site tag (gtag.js) - Google Analytics