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

一、索引日期

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)