Lucene初探

1.Lucene是什么?


Lucene是一个开发包,提供一组简单的API用于开发IR(Information retrieval,信息搜索)库.


2.Luncene的核心索引类


IndexWriter        - 对索引进行写操作的类,IndexWriter不是唯一对索引进行写操作的类
Directory           - 索引的目录(位置),抽象类,子类如:FSDirectory
Analyzer            - 抽象类,用于对文本内容提取关键字
Document          - 字段的集合;字段代表这个文档或与这个文档相关的元数据(如:作者,标题,主题,修改日期等),做为文档的字段索引和存储
Field                 - 在索引中的每个Document含有一个或多个字段,具体化为Field类,所有字段由名称和值组成


Field类型:

    Keyword       - 不被分析,适合需要保持原样存储到索引用的字段;如:URL、电话号码、日期、姓名等

    UnIndexed    - 不被分析也不被索引,但它的值存储在索引中,这个类型适合于你需要和搜索结果一起显示的字段(如URL或数据库主键)

    UnStored      - 被分析并索引,但是值不被存储在索引中,适合索引大量的文本;如网页

    Text            - 被分析并索引,这种字段类型可以被搜索,但小心字段大小(数据来自String可以被存储,但如果数据来自Reader则将不会被存储)

 

 

不同字段类型的特征和使用方法

 

 

Fied method/type

Analyzed

Indexed

Stored

Example usage

Field.Keyword(String,String)

Field.Keyword(String,Date)

 

?

?

Telephone and Social Security numbers, URLs, personal names, Dates

Field.UnIndexed(String,String)

 

 

?

Document type (PDF, HTML, and so on), if not used as search criteria

Field.UnStored(String,String)

?

?

 

Document titles and content

Field.Text(String,String)

?

?

?

Document titles and content

Field.Text(String,Reader)

?

?

 

Document titles and content

 

 

 

 

3.Lucene核心搜索类

 

 

IndexSearcher    - 以只读方式打开索引的一个类,经提供了几个搜索方法

Term                - Term是搜索的基本单元,与Field对象类似,它由字段的名称和字段的值组成

Query               - Query是最基本的抽象父类,Lucene包含一些Query的具体子类

TermQuery        - TermQuery是Lucene支持的最基本的查询类型,它用来匹配含有指定值的字段的文档

Hits                  - 搜索结果的简单容器,Hits并不从索引加载所有文档而是每次一小部分

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值