Lucene的排序搜索
默认根据文档查询的相关度得分来进行排序,得分越高,排名越前。
1、设置Lucene的文档对象Document中的一个促进因子,可以提高相关度得分。
//按价格升序排序//Sort sort = new Sort(new SortField("price",SortField.FLOAT)); //按价格降序排序Sort sort = new Sort(new SortField("price",SortField.FLOAT,true)); //可按多个属性排序//Sort sort1 = new Sort(new SortField("price",SortField.FLOAT),new SortField("id",SortField.FLOAT)); //排序搜索,返回符合条件的前10条记录. TopFieldDocs是TopDocs的子类TopFieldDocs topFieldDocs = indexSearcher.search(query,10, sort);//搜索结果总数量int totalCount = topFieldDocs.totalHits;// 搜索的结果列表ScoreDoc[] scoreDocs = topFieldDocs.scoreDocs;