Java 类org.apache.lucene.search.SortedSetSortField 实例源码

项目:neo4j-lucene5-index    文件:QueryContext.java   
/**
 * Returns a QueryContext with sorting added to it.
 *
 * @param key The key to sort on.
 * @param additionalKeys Any additional keys to sort on.
 * @return A QueryContext with sorting added to it.
 */
public QueryContext sort( String key, String... additionalKeys )
{
    SortField firstSortField = new SortedSetSortField( key, false );
    if ( additionalKeys.length == 0 )
    {
        return sort( new Sort( firstSortField ) );
    }

    SortField[] sortFields = new SortField[1+additionalKeys.length];
    sortFields[0] = firstSortField;
    for ( int i = 0; i < additionalKeys.length; i++ )
    {
        sortFields[1+i] = new SortedSetSortField( additionalKeys[i], false );
    }
    return sort( new Sort( sortFields ) );
}
项目:lumongo    文件:BasicStorageTest.java   
private static int runQuery(IndexReader indexReader, int count, Query q) throws IOException {
    long start = System.currentTimeMillis();
    IndexSearcher searcher = new IndexSearcher(indexReader);

    Sort sort = new Sort();

    sort.setSort(new SortedSetSortField("category", false));

    TopFieldCollector collector = TopFieldCollector.create(sort, count, null, true, true, true);

    searcher.search(q, collector);

    ScoreDoc[] hits = collector.topDocs().scoreDocs;
    int totalHits = collector.getTotalHits();
    @SuppressWarnings("unused") long searchTime = System.currentTimeMillis() - start;

    start = System.currentTimeMillis();

    List<String> ids = new ArrayList<>();
    for (ScoreDoc hit : hits) {
        int docId = hit.doc;
        Document d = searcher.doc(docId);
        ids.add(d.get("uid"));

    }
    @SuppressWarnings("unused") long fetchTime = System.currentTimeMillis() - start;

    return totalHits;
}