`
guming123416
  • 浏览: 18982 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Lucene(2.4.1)技术研究(3)--Document源代码

阅读更多

Document文件

 

 

Document是lucene自己定义的一种文件格式,lucene使用docement来代替对应的物理文件或者保存在数据库中的数据。因此Document只能作为数据源在Lucene中的数据存贮的一种文件形式。

 

 

Document只是负责收集数据源,因为不同的文件可以构建同一个Document。只要用户将不同的文件创建成Document类型的文件,Lucene就能快速找到查找并且使用他们。

 

 

 

 

对于一个Document文件,可以同时增加多个Field。Lucene中对于每个数据源是使用Field类来表示的。多个Field组成一个Document,多个Document组成一个索引文件。Document与Field关系如果一所示

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

此时,我们去看看Document这个类的源代码。Document采用默认不带参数的构造函数,但是我们他在创建的时间,
产生两个变量:
fieldsboost

 

 

其中fields是创建了一个arrayList,其主要是保存Field类

 

 

Boost主要是设置该doc的优先级

 

 

其方法:add(Fieldable field)增加一个field对象

 

 

removeField(String name) 根据name移除一个ield对象(找到一个就返回)

 

 

removeFields(String name) 根据name移除所有的field对象

 

 

Field getField(String name) 根据名字找到该Field对象。

 

 

Fieldable getFieldable(String name) 根据名字找到Fieldable子类(Fieldable是 接口,具体有Filed来实现)

 

 

String get(String name) 根据名字,找到给Filed对象中包含的内容

 

 

public final byte[] getBinaryValue(String name) 主要查找Doc中包含有二进制field 数据(如果不存在,则返回null)
public final List getFields() 直接返回该Doc中包含的Field

分享到:
评论

相关推荐

    Lucene2.4.1

    在Lucene 2.4.1中,你可以通过分析源代码来更深入地理解其工作原理。例如,查看`Analyzer`的实现,了解如何自定义分词规则;研究`IndexWriter`的源码,掌握索引构建和更新的过程;或者分析`QueryParser`,了解如何...

    lucene-2.4.1搜索框架

    "lucene-2.4.1-src"这个文件名暗示了源代码是学习的重要部分。通过阅读和分析源码,你可以更深入地理解Lucene的内部机制,这对于解决问题和进行二次开发非常有帮助。 总的来说,Lucene 2.4.1作为一个功能强大的搜索...

    lucene-core-2.9.2.jar

    Apache采用的是Apache License 2.0,这是一种宽松的开源许可,允许用户自由地使用、复制、修改、合并、发布、分发、再授权和/或销售软件,同时也允许用户以源代码或编译后的形式分发。了解许可条款对于遵循开源社区...

    lucene部署步骤

    - 将构建好的WAR文件复制到Tomcat的`webapps`目录下,或者将应用的源代码和配置文件放在`$CATALINA_HOME/webapps/lucene`目录下,然后启动Tomcat。 6. **测试**: - 通过浏览器访问`...

    lucene入门到项目开发.docx

    在示例代码中,`File2DocumentUtils`类提供了一个静态方法`file2Document`,将文件转换为Lucene的Document对象。这个方法做了以下几件事: 1. 创建一个新的Document实例。 2. 将文件名作为“name”字段添加到...

    ZendFramework中文文档

    导入定制的数据源 13.2.1.3. Dumping feed 内容 13.3. 从网页上获得Feed 13.4. RSS Feed的使用 13.5. Atom Feed的使用 13.6. 单个Atom条目的处理 13.7. 修改Feed和条目结构 13.8. 自定义Feed和条目类 14. ...

Global site tag (gtag.js) - Google Analytics