Lucene排序以及自定义排序
来源:互联网 发布:听诊器软件 编辑:程序博客网 时间:2024/05/16 14:02
现在开发搜索系统,使用的是开源界比较推崇的Lucene,版本是Maven库上面的3.5,这个版本里面有很多方法都不建议使用了。所以代码创建的方式有那么点变化,我使用的分词器是IkAnalyzer。Lucene全文检索的功能是很强大的,我们在做电子商务系统的时候肯定是会遇到排序的问题,比如销量,比如价格等等,为了方便客户我们便需要Lucene的排序功能,其实Lucene中的排序很简单也很方便,我们在创建搜索器的时候增加一个Sort就行了,Sort的构造函数需要SortField,具体大家可以去参考Lucene的源代码,我下面写了一个简单的例子来演示怎么使用。代码如下:
这段代码执行的结果为:
在SortField里面有很多静态常量来提供给排序器作为排序的依据,Lucene里面自己定义好的排序实现已经基本能够满足我们的需求了,如果自己想定义一个自己的排序算法,那么可以继承FieldComparatorSource实现里面的方法:
里面的FieldComparator是一个抽象类,主要就是用来作比较使用的,定义自己的排序算法关键也在于继承这个抽象类,然后实现里面的方法,需要实现的方法如下:
这里顺便列出Sort已经提供的比较值:
参考文章:
http://www.javafans.org/article/99
- Lucene排序以及自定义排序
- Lucene排序以及自定义排序
- 自定义的Lucene排序
- Lucene自定义排序
- lucene自定义排序例子
- Lucene - CustomScoreQuery 自定义排序
- lucene自定义排序的实现
- lucene-使用自定义排序方法
- Lucene 自定义按距离排序
- Lucene 中的 自定义排序的实现
- Lucene.net实现自定义排序笔记
- Lucene 中自定义排序的实现
- lucene学习之创建自定义排序
- lucene排序
- Lucene排序
- Lucene基础排序算法
- lucene 排序算法思路
- Lucene的排序算法
- 在C#中使用.chm帮助文件
- 五笔输入偏旁部首
- 操作系统---存储管理
- sql查找换行符
- ORA-01122: database file 6 failed verification check
- Lucene排序以及自定义排序
- 64位 安装oracle10g 问题
- Android退出方式
- 深拷贝和浅拷贝
- Objective C中介者模式
- java反射机制的学习
- XCode4.2 SDK5 中缺少libz.1.2.X.dylib的错误
- 经典算法大总结之排序算法
- 设计模式笔记——Composite