/** * The following method changes the rowIterator mutable field. It requires * external synchronization. */ protected void buildIterator() { if (rowIterator != null) { SolrDocumentListIterator documentListIterator = (SolrDocumentListIterator) rowIterator; if (!documentListIterator.hasNext() && documentListIterator.hasMoreRows()) { nextPage(); } } else { boolean cursor = Boolean.parseBoolean(context .getResolvedEntityAttribute(CursorMarkParams.CURSOR_MARK_PARAM)); rowIterator = !cursor ? new SolrDocumentListIterator(new SolrDocumentList()) : new SolrDocumentListCursor(new SolrDocumentList(), CursorMarkParams.CURSOR_MARK_START); nextPage(); } }
protected SolrDocumentList readDocuments( XMLStreamReader parser ) throws XMLStreamException SolrDocumentList docs = new SolrDocumentList();
protected SolrDocumentList readDocuments( XMLStreamReader parser ) throws XMLStreamException SolrDocumentList docs = new SolrDocumentList();
protected SolrDocumentList readDocuments( XMLStreamReader parser ) throws XMLStreamException SolrDocumentList docs = new SolrDocumentList();
public SolrDocumentList readSolrDocumentList(FastInputStream dis) throws IOException { SolrDocumentList solrDocs = new SolrDocumentList(); List list = (List) readVal(dis); solrDocs.setNumFound((Long) list.get(0)); solrDocs.setStart((Long)list.get(1)); solrDocs.setMaxScore((Float)list.get(2)); List l = (List) readVal(dis); solrDocs.addAll(l); return solrDocs; }
public SolrDocumentList readSolrDocumentList(DataInputInputStream dis) throws IOException { SolrDocumentList solrDocs = new SolrDocumentList(); List list = (List) readVal(dis); solrDocs.setNumFound((Long) list.get(0)); solrDocs.setStart((Long) list.get(1)); solrDocs.setMaxScore((Float) list.get(2)); @SuppressWarnings("unchecked") List<SolrDocument> l = (List<SolrDocument>) readVal(dis); solrDocs.addAll(l); return solrDocs; }
public SolrDocumentList readSolrDocumentList(DataInputInputStream dis) throws IOException { SolrDocumentList solrDocs = new SolrDocumentList(); List list = (List) readVal(dis); solrDocs.setNumFound((Long) list.get(0)); solrDocs.setStart((Long) list.get(1)); solrDocs.setMaxScore((Float) list.get(2)); @SuppressWarnings("unchecked") List<SolrDocument> l = (List<SolrDocument>) readVal(dis); solrDocs.addAll(l); return solrDocs; }
public SolrSearchResultDocumentList(SolrDocumentList solrDocs) { if (solrDocs == null) { SolrDocumentList list = new SolrDocumentList(); list.setStart(0L); list.setNumFound(0L); list.setMaxScore(0.0F); this.solrDocs = list; } else { this.solrDocs = solrDocs; } }
SolrDocumentList list = new SolrDocumentList();
@Override public SolrDocumentList readSolrDocumentList(DataInputInputStream dis) throws IOException { SolrDocumentList solrDocs = new SolrDocumentList(); List list = (List) readVal(dis); solrDocs.setNumFound((Long) list.get(0)); solrDocs.setStart((Long) list.get(1)); solrDocs.setMaxScore((Float) list.get(2)); callback.streamDocListInfo( solrDocs.getNumFound(), solrDocs.getStart(), solrDocs.getMaxScore() ); // Read the Array tagByte = dis.readByte(); if( (tagByte >>> 5) != (ARR >>> 5) ) { throw new RuntimeException( "doclist must have an array" ); } int sz = readSize(dis); for (int i = 0; i < sz; i++) { // must be a SolrDocument readVal( dis ); } return solrDocs; } };) {
@Override public SolrDocumentList readSolrDocumentList(DataInputInputStream dis) throws IOException { SolrDocumentList solrDocs = new SolrDocumentList(); List list = (List) readVal(dis); solrDocs.setNumFound((Long) list.get(0)); solrDocs.setStart((Long) list.get(1)); solrDocs.setMaxScore((Float) list.get(2)); callback.streamDocListInfo( solrDocs.getNumFound(), solrDocs.getStart(), solrDocs.getMaxScore() ); // Read the Array tagByte = dis.readByte(); if( (tagByte >>> 5) != (ARR >>> 5) ) { throw new RuntimeException( "doclist must have an array" ); } int sz = readSize(dis); for (int i = 0; i < sz; i++) { // must be a SolrDocument readVal( dis ); } return solrDocs; } };
@Override public SolrDocumentList getResults() { SolrDocumentList results = new SolrDocumentList(); for (int i = 0; i < 1000; i++) { results.add(new SolrDocument()); } results.setNumFound(1000); counter++; return results; }
SolrDocumentList documentList = new SolrDocumentList(); for (DocIdSetIterator iterator = bitSet.iterator(); iterator.nextDoc() != DocIdSetIterator.NO_MORE_DOCS;) { Document luceneDocument = searcher.doc(iterator.docID(), includeCollapsedDocumentsFields);
public static GetResult buildRealTimeGetResult(QueryResponse response, RealTimeGet query, DocumentFactory factory) { final String DOC = "doc"; long nResults = 0; List<Document> docResults = new ArrayList<>(); final SolrDocumentList results = response.getResults(); if(results != null && results.size() >0){ docResults = buildResultList(results, null, factory, null); nResults = docResults.size(); } else { final SolrDocument solrDoc = (SolrDocument)response.getResponse().get(DOC); if(solrDoc != null) { final SolrDocumentList solrDocuments = new SolrDocumentList(); solrDocuments.add(solrDoc); docResults = buildResultList(solrDocuments, null, factory, null); nResults = 1; } } return new GetResult(nResults,docResults,query,factory,response.getQTime()).setElapsedTime(response.getElapsedTime()); }
SolrDocumentList results = new SolrDocumentList();
this.logger.error("Failed to search: {}", ex.getMessage(), ex); return new SolrDocumentList();
private static ResponseFormatDocs getResponseFormatDocs(final SolrQueryResponse rsp) { SolrDocumentList docList = (SolrDocumentList)rsp.getValues().get("response"); SolrDocument singleDoc = (SolrDocument)rsp.getValues().get("doc"); if (docList == null && singleDoc == null) { return null; // no documents to filter } if (docList != null && singleDoc != null) { throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Not able to filter secure reponse, RealTimeGet returned both a doc list and " + "an individual document"); } final boolean useResponseField = docList != null; if (docList == null) { docList = new SolrDocumentList(); docList.add(singleDoc); } return new ResponseFormatDocs(useResponseField, docList); }
private void mergeDistributedResultsIntSingleResponse(ResponseBuilder rb, List<AcGroupResult> resultsToMerge, String responseTagName) { int docs = 0; float maxScore = 0.0f; // if groups have to be displayed in some custom order, other than the order specified in // ac_grouping_field_def String groupingSort = rb.req.getParams().get(AC_GROUPING_SORT_PARAM_NAME); if (groupSorts.containsKey(groupingSort)) { groupSorts.get(groupingSort).sort(rb, resultsToMerge); } SolrDocumentList docList = new SolrDocumentList(); // first find count of documents for (AcGroupResult acGroupResult : resultsToMerge) { // if slice contains more results than requested, take requested count; if it contains less results than // requested, we have to take what we got, not more docs += ((acGroupResult.getDistributedResultingDocs().size() > acGroupResult.getAcGroupingFieldValue().getRequestedCountOfSuggestions() == true) ? acGroupResult.getAcGroupingFieldValue().getRequestedCountOfSuggestions() : acGroupResult.getDistributedResultingDocs().size()); if (acGroupResult.getDistributedResultingDocs().getMaxScore() > maxScore) { maxScore = acGroupResult.getDistributedResultingDocs().getMaxScore(); } docList.addAll(acGroupResult.getDistributedResultingDocs()); } docList.setStart(0); docList.setNumFound(docs); rb.rsp.add(responseTagName, docList); }
SolrDocumentList list = new SolrDocumentList(); list.setNumFound(docs.matches()); list.setMaxScore(docs.maxScore());
@Test public void testMultipleUpdates() throws Exception { LMSEstimator lmsEstimator = new LMSEstimator(); Filter filter = mock(Filter.class); FullTextExpression fte = new FullTextTerm("foo", "bar", false, false, ""); when(filter.getFullTextConstraint()).thenReturn(fte); SolrDocumentList docs = new SolrDocumentList(); lmsEstimator.update(filter, docs); long actualCount = 10; docs.setNumFound(actualCount); long estimate = lmsEstimator.estimate(filter); assertEquals(estimate, lmsEstimator.estimate(filter)); long diff = actualCount - estimate; // update causes weights adjustment lmsEstimator.update(filter, docs); long estimate2 = lmsEstimator.estimate(filter); assertEquals(estimate2, lmsEstimator.estimate(filter)); long diff2 = actualCount - estimate2; assertTrue(diff2 < diff); // new estimate is more accurate than previous one // update doesn't cause weight adjustments therefore estimates stays unchanged lmsEstimator.update(filter, docs); long estimate3 = lmsEstimator.estimate(filter); assertEquals(estimate3, lmsEstimator.estimate(filter)); long diff3 = actualCount - estimate3; assertTrue(diff3 < diff2); }