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

系统 1537 0
1、Document文件

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

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


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

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


此时,我们去看看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。


<------------------我是快乐的转载符----------------------->

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


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论