Package org.apache.lucene.index

Examples of org.apache.lucene.index.TermDocs


     * @throws IOException if an error occurs while reading from the index or
     *                     the node is not present in the index.
     */
    public int getDoc(IndexReader reader) throws IOException {
        if (doc == -1) {
            TermDocs docs = reader.termDocs(TermFactory.createUUIDTerm(id.toString()));
            try {
                if (docs.next()) {
                    return docs.doc();
                } else {
                    throw new IOException("Node with id " + id + " not found in index");
                }
            } finally {
                docs.close();
            }
        } else {
            return doc;
        }
    }
View Full Code Here


    private void calculateDocFilter() throws IOException {
        docFilter = new BitSet(reader.maxDoc());
        // we match all terms
        TermEnum terms = reader.terms(new Term(FieldNames.PROPERTIES, field));
        try {
            TermDocs docs = reader.termDocs();
            try {
                while (terms.term() != null
                        && terms.term().field() == FieldNames.PROPERTIES
                        && terms.term().text().startsWith(field)) {
                    docs.seek(terms);
                    while (docs.next()) {
                        docFilter.set(docs.doc());
                    }
                    terms.next();
                }
            } finally {
                docs.close();
            }
        } finally {
            terms.close();
        }
    }
View Full Code Here

            }

            // if we get here, entry is either invalid or did not exist
            // search through readers
            for (int i = 0; i < subReaders.length; i++) {
                TermDocs docs = subReaders[i].termDocs(term);
                try {
                    if (docs.next()) {
                        return new SingleTermDocs(docs.doc() + starts[i]);
                    }
                } finally {
                    docs.close();
                }
            }
        }

        return super.termDocs(term);
View Full Code Here

                // collect the doc ids of all target nodes. we reuse the existing
                // bitset.
                hits.clear();
                for (Iterator it = uuids.iterator(); it.hasNext();) {
                    TermDocs node = reader.termDocs(new Term(FieldNames.UUID, (String) it.next()));
                    try {
                        while (node.next()) {
                            hits.set(node.doc());
                        }
                    } finally {
                        node.close();
                    }
                }
                // filter out the target nodes that do not match the name test
                // if there is any name test at all.
                if (nameTestScorer != null) {
View Full Code Here

                    checkLower = true;
                }

                String testField = getField();

                TermDocs docs = reader.termDocs();
                try {
                    do {
                        Term term = enumerator.term();
                        if (term != null && term.field() == testField) {
                            if (!checkLower || term.text().compareTo(lowerTerm.text()) > 0) {
                                checkLower = false;
                                if (upperTerm != null) {
                                    int compare = upperTerm.text().compareTo(term.text());
                                    // if beyond the upper term, or is exclusive and
                                    // this is equal to the upper term, break out
                                    if ((compare < 0) || (!inclusive && compare == 0)) {
                                        break;
                                    }
                                }

                                docs.seek(enumerator);
                                while (docs.next()) {
                                    hits.set(docs.doc());
                                }
                            }
                        } else {
                            break;
                        }
                    } while (enumerator.next());
                } finally {
                    docs.close();
                }
            } finally {
                enumerator.close();
            }
            hitsCalculated = true;
View Full Code Here

                }

                // collect the doc ids of all child nodes. we reuse the existing
                // bitset.
                hits.clear();
                TermDocs docs = reader.termDocs();
                try {
                    for (Iterator it = uuids.iterator(); it.hasNext();) {
                        docs.seek(new Term(FieldNames.PARENT, (String) it.next()));
                        while (docs.next()) {
                            hits.set(docs.doc());
                        }
                    }
                } finally {
                    docs.close();
                }
                // filter out the child nodes that do not match the name test
                // if there is any name test at all.
                if (nameTestScorer != null) {
                    hits.and(nameTestHits);
View Full Code Here

                if (this.reader != null && this.reader.get() == reader) {
                    return docNumber;
                }
            }
            Term id = new Term(FieldNames.UUID, uuid);
            TermDocs docs = reader.termDocs(id);
            int doc = -1;
            try {
                if (docs.next()) {
                    doc = docs.doc();
                }
            } finally {
                docs.close();
            }
            synchronized (this) {
                docNumber = doc;
                this.reader = new WeakReference(reader);
            }
View Full Code Here

                return;
            }
            TermEnum terms = new WildcardTermEnum(reader, field, propName, pattern);
            try {
                // use unpositioned TermDocs
                TermDocs docs = reader.termDocs();
                try {
                    while (terms.term() != null) {
                        docs.seek(terms);
                        while (docs.next()) {
                            hits.set(docs.doc());
                        }
                        if (!terms.next()) {
                            break;
                        }
                    }
                } finally {
                    docs.close();
                }
            } finally {
                terms.close();
            }
            hitsCalculated = true;
View Full Code Here

                // collect the doc ids of all target nodes. we reuse the existing
                // bitset.
                hits.clear();
                for (Iterator it = uuids.iterator(); it.hasNext();) {
                    TermDocs node = reader.termDocs(new Term(FieldNames.UUID, (String) it.next()));
                    try {
                        while (node.next()) {
                            hits.set(node.doc());
                        }
                    } finally {
                        node.close();
                    }
                }
                // filter out the target nodes that do not match the name test
                // if there is any name test at all.
                if (nameTestScorer != null) {
View Full Code Here

            throw new IllegalStateException("already initialized");
        }
        // check index for nodes that need to be reindexed
        CachingMultiIndexReader reader = index.getIndexReader();
        try {
            TermDocs tDocs = reader.termDocs(
                    new Term(FieldNames.REINDEXING_REQUIRED, ""));
            try {
                while (tDocs.next()) {
                    queueStore.addUUID(reader.document(tDocs.doc(),
                            FieldSelectors.UUID).get(FieldNames.UUID));
                }
            } finally {
                tDocs.close();
            }
        } finally {
            reader.release();
        }
        String[] uuids = queueStore.getPending();
View Full Code Here

TOP

Related Classes of org.apache.lucene.index.TermDocs

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.