/** * Creates a {@link Cursor} over paths, and make the result distinct. * The iterator might return duplicate paths * * @param paths the paths to iterate over (might contain duplicate entries) * @return the Cursor. */ public static Cursor newPathCursorDistinct(Iterable<String> paths, QueryLimits settings) { return new PathCursor(paths.iterator(), true, settings); }
public FulltextPathCursor(final Iterator<FulltextResultRow> it, final IndexPlan plan, QueryLimits settings, SizeEstimator sizeEstimator) { pathPrefix = plan.getPathPrefix(); this.sizeEstimator = sizeEstimator; Iterator<String> pathIterator = new Iterator<String>() { private int readCount; @Override public boolean hasNext() { return it.hasNext(); } @Override public String next() { currentRow = it.next(); readCount++; if (readCount % TRAVERSING_WARNING == 0) { Cursors.checkReadLimit(readCount, settings); log.warn("Index-Traversed {} nodes with filter {}", readCount, plan.getFilter()); } return currentRow.path; } @Override public void remove() { it.remove(); } }; PlanResult planResult = getPlanResult(plan); pathCursor = new PathCursor(pathIterator, planResult.isUniquePathsRequired(), settings); numberOfFacets = planResult.indexDefinition.getNumberOfTopFacets(); }
LucenePathCursor(final Iterator<LuceneResultRow> it, QueryLimits settings, SizeEstimator sizeEstimator, Filter filter) { this.sizeEstimator = sizeEstimator; Iterator<String> pathIterator = new Iterator<String>() { private int readCount; @Override public boolean hasNext() { return it.hasNext(); } @Override public String next() { currentRow = it.next(); readCount++; if (readCount % TRAVERSING_WARNING == 0) { Cursors.checkReadLimit(readCount, settings); LOG.warn("Index-Traversed {} nodes with filter {}", readCount, filter); } return currentRow.path; } @Override public void remove() { it.remove(); } }; pathCursor = new PathCursor(pathIterator, true, settings); }
SolrRowCursor(final Iterator<SolrResultRow> it, IndexPlan plan, QueryLimits settings, LMSEstimator estimator, SolrClient solrServer, OakSolrConfiguration configuration) { this.estimator = estimator; this.solrServer = solrServer; this.configuration = configuration; Iterator<String> pathIterator = new Iterator<String>() { @Override public boolean hasNext() { return it.hasNext(); } @Override public String next() { currentRow = it.next(); return currentRow.path; } @Override public void remove() { it.remove(); } }; this.plan = plan; this.pathCursor = new Cursors.PathCursor(pathIterator, false, settings); }
LucenePathCursor(final Iterator<LuceneResultRow> it, QueryLimits settings, SizeEstimator sizeEstimator, Filter filter) { this.sizeEstimator = sizeEstimator; Iterator<String> pathIterator = new Iterator<String>() { private int readCount; @Override public boolean hasNext() { return it.hasNext(); } @Override public String next() { currentRow = it.next(); readCount++; if (readCount % TRAVERSING_WARNING == 0) { Cursors.checkReadLimit(readCount, settings); LOG.warn("Index-Traversed {} nodes with filter {}", readCount, filter); } return currentRow.path; } @Override public void remove() { it.remove(); } }; pathCursor = new PathCursor(pathIterator, true, settings); }
SolrRowCursor(final Iterator<SolrResultRow> it, IndexPlan plan, QueryLimits settings, LMSEstimator estimator, SolrClient solrServer, OakSolrConfiguration configuration) { this.estimator = estimator; this.solrServer = solrServer; this.configuration = configuration; Iterator<String> pathIterator = new Iterator<String>() { @Override public boolean hasNext() { return it.hasNext(); } @Override public String next() { currentRow = it.next(); return currentRow.path; } @Override public void remove() { it.remove(); } }; this.plan = plan; this.pathCursor = new Cursors.PathCursor(pathIterator, false, settings); }
/** * Creates a {@link Cursor} over paths, and make the result distinct. * The iterator might return duplicate paths * * @param paths the paths to iterate over (might contain duplicate entries) * @return the Cursor. */ public static Cursor newPathCursorDistinct(Iterable<String> paths, QueryLimits settings) { return new PathCursor(paths.iterator(), true, settings); }
/** * Creates a {@link Cursor} over paths, and make the result distinct. * The iterator might return duplicate paths * * @param paths the paths to iterate over (might contain duplicate entries) * @return the Cursor. */ public static Cursor newPathCursorDistinct(Iterable<String> paths, QueryLimits settings) { return new PathCursor(paths.iterator(), true, settings); }
/** * Creates a {@link Cursor} over paths. * * @param paths the paths to iterate over (must return distinct paths) * @return the Cursor. */ public static Cursor newPathCursor(Iterable<String> paths, QueryLimits settings) { return new PathCursor(paths.iterator(), true, settings); }
/** * Creates a {@link Cursor} over paths. * * @param paths the paths to iterate over (must return distinct paths) * @return the Cursor. */ public static Cursor newPathCursor(Iterable<String> paths, QueryLimits settings) { return new PathCursor(paths.iterator(), true, settings); }
/** * Creates a {@link Cursor} over paths. * * @param paths the paths to iterate over (must return distinct paths) * @return the Cursor. */ public static Cursor newPathCursor(Iterable<String> paths, QueryLimits settings) { return new PathCursor(paths.iterator(), true, settings); }