Example usage for org.apache.lucene.index IndexReader numDeletedDocs

List of usage examples for org.apache.lucene.index IndexReader numDeletedDocs

Introduction

In this page you can find the example usage for org.apache.lucene.index IndexReader numDeletedDocs.

Prototype

public final int numDeletedDocs() 

Source Link

Document

Returns the number of deleted documents.

Usage

From source file:org.openrdf.sail.lucene.LuceneIndex.java

License:BSD License

private void logIndexStats() {
    try {//w w  w  .j a va  2 s  . c o m
        IndexReader reader = null;
        try {
            reader = getIndexReader();

            Document doc;
            int totalFields = 0;

            Set<String> ids = new HashSet<String>();
            String[] idArray;
            int count = 0;
            for (int i = 0; i < reader.maxDoc(); i++) {
                if (reader.isDeleted(i))
                    continue;
                doc = reader.document(i);
                totalFields += doc.getFields().size();
                count++;
                idArray = doc.getValues("id");
                for (String id : idArray)
                    ids.add(id);

            }

            logger.info("Total documents in the index: " + reader.numDocs()
                    + ", number of deletable documents in the index: " + reader.numDeletedDocs()
                    + ", valid documents: " + count + ", total fields in all documents: " + totalFields
                    + ", average number of fields per document: " + ((double) totalFields) / reader.numDocs());
            logger.info("Distinct ids in the index: " + ids.size());

        } finally {
            if (currentMonitor != null) {
                currentMonitor.closeWhenPossible();
                currentMonitor = null;
            }
        }
    } catch (IOException e) {
        logger.warn(e.getMessage(), e);
    }

}

From source file:org.openrdf.sail.lucene3.LuceneIndex.java

License:BSD License

private void logIndexStats() {
    try {/*from  w ww  . j a v a2s  .c  o  m*/
        IndexReader reader = null;
        try {
            reader = getIndexReader();

            Document doc;
            int totalFields = 0;

            Set<String> ids = new HashSet<String>();
            String[] idArray;
            int count = 0;
            for (int i = 0; i < reader.maxDoc(); i++) {
                if (isDeleted(reader, i))
                    continue;
                doc = readDocument(reader, i, null);
                totalFields += doc.getFields().size();
                count++;
                idArray = doc.getValues("id");
                for (String id : idArray)
                    ids.add(id);

            }

            logger.info("Total documents in the index: " + reader.numDocs()
                    + ", number of deletable documents in the index: " + reader.numDeletedDocs()
                    + ", valid documents: " + count + ", total fields in all documents: " + totalFields
                    + ", average number of fields per document: " + ((double) totalFields) / reader.numDocs());
            logger.info("Distinct ids in the index: " + ids.size());

        } finally {
            if (currentMonitor != null) {
                currentMonitor.closeWhenPossible();
                currentMonitor = null;
            }
        }
    } catch (IOException e) {
        logger.warn(e.getMessage(), e);
    }

}