欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

lucene-索引日期与索引数字和排序

程序员文章站 2022-05-15 11:34:37
...

一、索引日期

1、Field.Keyword(String,Date)方法和DateField类进行索引

索引今天的日期可以这么做:

Document doc=new Document();

doc.add(Field.Keyword("indexDate",new Date()));

lucene内部使用了DateField类将日期转成字符串。

2、可以先转换为YYYYMMDD格式的字符串,再使用Fiedl.Keyword(String,String)方法。使用这种方式的另一个充分的理由是可以索引1970.1.1以前的日期。

3、字符串的排列是以字典顺序排列的。

二、索引数字

1、lucene通过在内部将数值处理为字符串的方式索引数值。如果需要索引的数字在*形式文本出现,要选择支持数字的Analyzer类,可选择WhitespaceAnalyzer和StandardAnalyzer,能把数字提取为一个语汇单元并传递到索引中。

2、仅有单个数字值不要分析,可做为Keyword索引

3、lucene是按字典顺序排序,因此10,6,91为字典顺序,必须前补充0为:10,06,91,这样排序后为06,10,91

三、索引Field对象用于排序

1.如果希望能按某个域对象排序,它必须是一个被索引但不被语汇单元化的域对象增加到文档中.

2.域对象必须是可转换成整形、浮点型、字符串型。

相关标签: lucene