【第一节】 lucene HelloWord


一、全文检索

    全文检索是计算机程序通过文章中每一个词,对每一个词建立一个索引,指明该词在文章的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查找字的过程。

二、lucene 的索引是存放在一个索引库,是包括索引表和数据文档,一个反向索引结构图。



三。索引数字和查询

doc.add(new NumericField("price", Field.Store.YES, true).setIntValue(123456));
Query q = NumericRangeQuery.newIntRange("price", 1, 1111111, true, true);

//排序
TopDocs tDocs =searcher.search(q, null, 100, new Sort(new SortField("price", SortField.FLOAT, true)));
System.out.println(tDocs.totalHits);



四.创建索引 各种配置如:

Index选项

Index.ANALYZED – 索引并分词(适用于body, title, abstract等.).
Index.NOT_ANALYZED – 索引但不分词,可以使用NORM方式.(可以人为干预提权)

Index.ANALYZED_NO_NORMS – 索引并分词但不使用NORM方式(不可认为提权)

Index.NOT_ANALYZED_NO_NORMS – 索引但不分词也不使用NORM方式(经常用到,存储标志值最好的方式.)

Index.NO – 不索引

 

Store选项

Store.YES – 存储

Store.NO  – 不存储

 

TermVector选项

(除TermVector.NO外其他必须要求Index选项为Index.ANALYZED或Index.NOT_ANALYZED)

TermVector.YES – 最基本的向量存储(特殊性,数量,在哪个文档)

TermVector.WITH_POSITIONS – TermVector.YES+位置
TermVector.WITH_OFFSETS – TermVector.YES+偏移

TermVector.WITH_POSITIONS_OFFSETS – TermVector.YES+位置+偏移

TermVector.NO – 不做向量存储


各选项组合应用场景

Index

Store

TermVector

事例

NOT_ANALYZD

ED_NO_NORMS

YES

NO

主键,电话,身份证号,URLs,日期和需要排序的字段

ANALYZED

YES

WITH_POSITIONS_OFFSETS

文档标题,摘要.

ANALYZED

NO

WITH_POSITIONS_OFFSETS

文档主体

NO

YES

NO

文档类型,数据库主键(如果不需要检索该字段的话)

NOT_ANALYZED

NO

NO

隐藏字段


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值