/** Returns true if any documents have been deleted. Implementers should * consider overriding this method if {@link #maxDoc()} or {@link #numDocs()} * are not constant-time operations. */ public boolean hasDeletions() { return numDeletedDocs() > 0; }
/** Returns true if any documents have been deleted. Implementers should * consider overriding this method if {@link #maxDoc()} or {@link #numDocs()} * are not constant-time operations. */ public boolean hasDeletions() { return numDeletedDocs() > 0; }
/** Returns true if any documents have been deleted. Implementers should * consider overriding this method if {@link #maxDoc()} or {@link #numDocs()} * are not constant-time operations. */ public boolean hasDeletions() { return numDeletedDocs() > 0; }
/** Returns true if any documents have been deleted. Implementers should * consider overriding this method if {@link #maxDoc()} or {@link #numDocs()} * are not constant-time operations. */ public boolean hasDeletions() { return numDeletedDocs() > 0; }
public int numDeletedDocs() { if (numDeletedDocs == -1) { numDeletedDocs = parentReader.numDeletedDocs(); } return numDeletedDocs; }
@Override public boolean isEmpty() { return maxDoc == reader.numDeletedDocs() + 1; }
@Override public int size() { return maxDoc - reader.numDeletedDocs() - 1; } };
@Override public int numDeletedDocs() { return in.numDeletedDocs(); }
public int numDeletedDocs() { logDeprecation(); if (numDeletedDocs == -1) { numDeletedDocs = parentReader.numDeletedDocs(); } return numDeletedDocs; }
CountTask(IndexReader reader, String tokenLengthField) { this.tokenLengthField = tokenLengthField; totalDocs = reader.maxDoc() - reader.numDeletedDocs(); }
@Override public int doLogic() throws Exception { Directory dir = getRunData().getDirectory(); IndexReader r = null; if (userData == null) r = DirectoryReader.open(dir); else r = DirectoryReader.open(OpenReaderTask.findIndexCommit(dir, userData)); System.out.println("--> numDocs:"+r.numDocs()+" dels:"+r.numDeletedDocs()); r.close(); return 1; } }
private float sumSCQ(IndexReader reader, List<String> queryTokens, String field) throws IOException { long numDocs = reader.numDocs() - reader.numDeletedDocs(); float scq = 0.0f; for (String token : queryTokens) { long docFreq = reader.docFreq(new Term(field, token)); //TODO what about tf = 0 long termFreq = reader.totalTermFreq(new Term(field, token)); if (termFreq == 0) continue; scq += 1 + Math.log(termFreq* computeIDF(docFreq, numDocs)); } return scq; }
@Override public float extract(Document doc, Terms terms, RerankerContext<T> context) { IndexReader reader = context.getIndexSearcher().getIndexReader(); long numDocs = reader.numDocs() - reader.numDeletedDocs(); try { float sumIdf = sumIdf(reader, context.getQueryTokens(), numDocs, LuceneDocumentGenerator.FIELD_BODY); return sumIdf / (float) context.getQueryTokens().size(); } catch (IOException e) { LOG.warn("Error computing AvgIdf, returning 0"); return 0.0f; } }
public int getDeletedDocCount(NodeBuilder idx, LuceneIndexDefinition definition) throws IOException { Directory dir = new DefaultDirectoryFactory(null, null).newInstance(definition, idx, FulltextIndexConstants.INDEX_DATA_CHILD_NAME, false); IndexReader reader = DirectoryReader.open(dir); int numDeletes = reader.numDeletedDocs(); reader.close(); return numDeletes; }
public DocsStats docStats() { try (Engine.Searcher searcher = acquireSearcher("doc_stats")) { return new DocsStats(searcher.reader().numDocs(), searcher.reader().numDeletedDocs()); } }
public DocsStats docStats() { try (Engine.Searcher searcher = acquireSearcher("doc_stats")) { return new DocsStats(searcher.reader().numDocs(), searcher.reader().numDeletedDocs()); } }
/** * checks that reader-level statistics are the same */ public void assertReaderStatisticsEquals(String info, IndexReader leftReader, IndexReader rightReader) throws IOException { // Somewhat redundant: we never delete docs assertEquals(info, leftReader.maxDoc(), rightReader.maxDoc()); assertEquals(info, leftReader.numDocs(), rightReader.numDocs()); assertEquals(info, leftReader.numDeletedDocs(), rightReader.numDeletedDocs()); assertEquals(info, leftReader.hasDeletions(), rightReader.hasDeletions()); }
public IndexStats(String path, LuceneIndexNode indexNode) throws IOException { this.path = path; numDocs = indexNode.getSearcher().getIndexReader().numDocs(); maxDoc = indexNode.getSearcher().getIndexReader().maxDoc(); numDeletedDocs = indexNode.getSearcher().getIndexReader().numDeletedDocs(); indexSize = getIndexSize(indexNode.getPrimaryReaders()); indexSizeStr = humanReadableByteCount(indexSize); suggesterSize = dirSize(indexNode.getSuggestDirectory()); suggesterSizeStr = humanReadableByteCount(suggesterSize); nrtIndexSize = getIndexSize(indexNode.getNRTReaders()); numDocsNRT = getNumDocs(indexNode.getNRTReaders()); nrtIndexSizeStr = humanReadableByteCount(nrtIndexSize); }
public IndexStats(String path, LuceneIndexNode indexNode) throws IOException { this.path = path; numDocs = indexNode.getSearcher().getIndexReader().numDocs(); maxDoc = indexNode.getSearcher().getIndexReader().maxDoc(); numDeletedDocs = indexNode.getSearcher().getIndexReader().numDeletedDocs(); indexSize = getIndexSize(indexNode.getPrimaryReaders()); indexSizeStr = humanReadableByteCount(indexSize); suggesterSize = dirSize(indexNode.getSuggestDirectory()); suggesterSizeStr = humanReadableByteCount(suggesterSize); nrtIndexSize = getIndexSize(indexNode.getNRTReaders()); numDocsNRT = getNumDocs(indexNode.getNRTReaders()); nrtIndexSizeStr = humanReadableByteCount(nrtIndexSize); }
@Test public void multipleUpdateForSamePath() throws Exception{ LuceneIndexDefinition idxDefn = getSyncIndexDefinition("/foo"); NRTIndex idx = indexFactory.createIndex(idxDefn); LuceneIndexWriter writer = idx.getWriter(); Document document = new Document(); document.add(newPathField("/a/b")); writer.updateDocument("/a/b", document); assertEquals(1, idx.getPrimaryReaderForTest().numDocs()); writer.updateDocument("/a/b", document); //Update for same path should not lead to deletion assertEquals(2, idx.getPrimaryReaderForTest().numDocs()); assertEquals(0, idx.getPrimaryReaderForTest().numDeletedDocs()); }