Example usage for org.apache.lucene.search ScoreDoc ScoreDoc

List of usage examples for org.apache.lucene.search ScoreDoc ScoreDoc

Introduction

In this page you can find the example usage for org.apache.lucene.search ScoreDoc ScoreDoc.

Prototype

public ScoreDoc(int doc, float score, int shardIndex) 

Source Link

Document

Constructs a ScoreDoc.

Usage

From source file:org.elasticsearch.search.aggregations.metrics.tophits.InternalTopHitsTests.java

License:Apache License

@Override
protected void assertReduced(InternalTopHits reduced, List<InternalTopHits> inputs) {
    SearchHits actualHits = reduced.getHits();
    List<Tuple<ScoreDoc, SearchHit>> allHits = new ArrayList<>();
    float maxScore = Float.MIN_VALUE;
    long totalHits = 0;
    for (int input = 0; input < inputs.size(); input++) {
        SearchHits internalHits = inputs.get(input).getHits();
        totalHits += internalHits.getTotalHits();
        maxScore = max(maxScore, internalHits.getMaxScore());
        for (int i = 0; i < internalHits.internalHits().length; i++) {
            ScoreDoc doc = inputs.get(input).getTopDocs().scoreDocs[i];
            if (testInstancesLookSortedByField) {
                doc = new FieldDoc(doc.doc, doc.score, ((FieldDoc) doc).fields, input);
            } else {
                doc = new ScoreDoc(doc.doc, doc.score, input);
            }/*www .  ja  v  a  2s .co  m*/
            allHits.add(new Tuple<>(doc, internalHits.internalHits()[i]));
        }
    }
    allHits.sort(comparing(Tuple::v1, scoreDocComparator()));
    SearchHit[] expectedHitsHits = new SearchHit[min(inputs.get(0).getSize(), allHits.size())];
    for (int i = 0; i < expectedHitsHits.length; i++) {
        expectedHitsHits[i] = allHits.get(i).v2();
    }
    SearchHits expectedHits = new SearchHits(expectedHitsHits, totalHits, maxScore);
    assertEqualsWithErrorMessageFromXContent(expectedHits, actualHits);
}