package org.apache.lucene.search;
import java.io.Serializable;
public class Sort
implements Serializable {
<wbr> /**<br><wbr><wbr> * 按照文档得分排序<br><wbr><wbr> */<br><wbr> public static final Sort RELEVANCE = new Sort();<br><br><br><wbr><wbr><wbr> /**<br><wbr><wbr><wbr><wbr>* 按照文档被索引的先后顺序排序<br><wbr><wbr><wbr><wbr>*/<br><wbr> public static final Sort INDEXORDER = new Sort(SortField.FIELD_DOC);<br><br><wbr> // internal representation of the sort criteria<br><wbr> SortField[] fields;<br><br><wbr> /**<br><wbr><wbr> * lucen默认的排序方式<br><wbr><wbr> *<br><wbr><wbr> */<br><wbr> public Sort() {<br><wbr><wbr><wbr> this(new SortField[] { SortField.FIELD_SCORE, SortField.FIELD_DOC });<br><wbr> }<br><br><wbr> /**<br><wbr><wbr> * 按照某个field排序<br><wbr><wbr> *<br><wbr><wbr> * @param field<br><wbr><wbr> */<br><wbr> public Sort(String field) {<br><wbr><wbr><wbr> setSort(field, false);<br><wbr> }<br><br><wbr> /**<br><wbr><wbr> * 按照某个field升或降序排序<br><wbr><wbr> */<br><wbr> public Sort(String field, boolean reverse) {<br><wbr><wbr><wbr> setSort(field, reverse);<br><wbr> }<br><br><wbr> /**<br><wbr><wbr> * 对多个fields排序<br><wbr><wbr> */<br><wbr> public Sort(String[] fields) {<br><wbr><wbr><wbr> setSort(fields);<br><wbr> }<br><br><wbr> /**<br><wbr><wbr><wbr> 通过传递sortFiels对字段进行排序<br><wbr>*/<br><wbr> public Sort(SortField field) {<br><wbr><wbr><wbr> setSort(field);<br><wbr> }<br><br><wbr> /** 通过传递一系列的sortfield对多个字段进行排序 */<br><wbr> public Sort(SortField[] fields) {<br><wbr><wbr><wbr> setSort(fields);<br><wbr> }<br><br><wbr> /**<br><wbr><wbr> * 设置按照某个字段的排序方式<br><wbr><wbr> */<br><wbr> public final void setSort(String field) {<br><wbr><wbr><wbr> setSort(field, false);<br><wbr> }<br><br><wbr> /**<br><wbr><wbr> * 设置按照某个字段的排序方式,<br><wbr><wbr> */<br><wbr> public void setSort(String field, boolean reverse) {<br><wbr><wbr><wbr> SortField[] nfields = new SortField[] {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> new SortField(field, SortField.AUTO, reverse), SortField.FIELD_DOC };<br><wbr><wbr><wbr> fields = nfields;<br><wbr> }<br><br><wbr> /** 对多个字段进行排序 */<br><wbr> public void setSort(String[] fieldnames) {<br><wbr><wbr><wbr> final int n = fieldnames.length;<br><wbr><wbr><wbr> SortField[] nfields = new SortField[n];<br><wbr><wbr><wbr> for (int i = 0; i < n; ++i) {<br><wbr><wbr><wbr><wbr><wbr> nfields[i] = new SortField(fieldnames[i], SortField.AUTO);<br><wbr><wbr><wbr> }<br><wbr><wbr><wbr> fields = nfields;<br><wbr> }<br><br><wbr> /**对某个field进行排序 */<br><wbr> public void setSort(SortField field) {<br><wbr><wbr><wbr> this.fields = new SortField[] { field };<br><wbr> }<br><br><wbr> /** 对某个字段进行排序 */<br><wbr> public void setSort(SortField[] fields) {<br><wbr><wbr><wbr> this.fields = fields;<br><wbr> }<br><wbr><br><wbr> /**<br><wbr><wbr> * 获取当前的排序方式<br><wbr><wbr> */<br><wbr> public SortField[] getSort() {<br><wbr><wbr><wbr> return fields;<br><wbr> }<br><br><wbr> public String toString() {<br><wbr><wbr><wbr> StringBuffer buffer = new StringBuffer();<br><br><wbr><wbr><wbr> for (int i = 0; i < fields.length; i++) {<br><wbr><wbr><wbr><wbr><wbr> buffer.append(fields[i].toString());<br><wbr><wbr><wbr><wbr><wbr> if ((i+1) < fields.length)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> buffer.append(',');<br><wbr><wbr><wbr> }<br><br><wbr><wbr><wbr> return buffer.toString();<br><wbr> }<br>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
Lucene--sort简单注释
最新推荐文章于 2025-08-17 21:38:20 发布