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

1、Document文件

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

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


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

[img]http://dl.iteye.com/upload/attachment/223252/42703883-7bfd-3e22-aef9-6fb8ec57b14f.bmp[/img]


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

其中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。


<------------------我是快乐的转载符----------------------->
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值