用户名: 密 码:
您现在的位置:首页 >> SEO开发技巧 >> 内容

lucene自定义排序

时间:2010-03-25 18:08:54 点击:5386

  核心提示:lucene能够很方便的实现自定义排序 具体做法就是写一个类实现SortComparatorSource这个接口 在类里返回ScoreDocComparator 实现ScoreDocComparator 的三个方法compare,sortValue,sortType就行了 public class ...
lucene能够很方便的实现自定义排序

具体做法就是写一个类实现SortComparatorSource这个接口

在类里返回ScoreDocComparator

实现ScoreDocComparator 的三个方法compare,sortValue,sortType就行了

public class MyComparatorSource implements SortComparatorSource {  
private static final long serialVersionUID = 1L;  
      

       
     // 返回ScoreDocComparator 用来实现排序功能  
     public ScoreDocComparator newComparator(IndexReader reader, String fieldname) throws IOException {  
         return new DistanceScoreDocLookupComparator();  
     }  
       
      private static class DistanceScoreDocLookupComparator implements ScoreDocComparator {  
          //这里写实现自己的排序比较方法
         public int compare(ScoreDoc i, ScoreDoc j) {  
             if (i.score > j.score) return -1;
             if (i.score < j.score) return 1;
             return 0;
         }  
           
         // 返回值  
         public Comparable sortValue(ScoreDoc i) {
                      return new Float(i.score);  
         }  
           
         //指定SortType  
         public int sortType() {  
             return SortField.FLOAT;  
        }  
  }
}

文章来源:http://www.xinxilong.com

作者:不详 来源:网络
相关评论
发表我的评论
  • 大名:
  • 内容:
  • 论坛群发工具(www.xinxilong.com) © 2008 版权所有 All Rights Resverved.
  • Email:433168@qq.com 沪ICP备12025887号
  • Powered by 论坛群发大师