Package org.apache.jackrabbit.core.query.lucene.hits

Examples of org.apache.jackrabbit.core.query.lucene.hits.Hits


                String uuid = reader.document(i, FieldSelectors.UUID).get(FieldNames.UUID);
                uuids.put(i, uuid);
            }

            // get child node entries for each hit
            Hits childrenHits = new AdaptingHits();
            for (String uuid : uuids.values()) {
                NodeId id = new NodeId(uuid);
                try {
                    long time = System.currentTimeMillis();
                    NodeState state = (NodeState) itemMgr.getItemState(id);
                    time = System.currentTimeMillis() - time;
                    log.debug("got NodeState with id {} in {} ms.", id, time);
                    List<ChildNodeEntry> entries;
                    if (nameTest != null) {
                        entries = state.getChildNodeEntries(nameTest);
                    } else {
                        // get all children
                        entries = state.getChildNodeEntries();
                    }
                    for (ChildNodeEntry entry : entries) {
                        NodeId childId = entry.getId();
                        Term uuidTerm = TermFactory.createUUIDTerm(childId.toString());
                        TermDocs docs = reader.termDocs(uuidTerm);
                        try {
                            if (docs.next()) {
                                childrenHits.set(docs.doc());
                            }
                        } finally {
                            docs.close();
                        }
                    }
View Full Code Here


        /**
         * {@inheritDoc}
         */
        public Hits getHits() throws IOException {
            long time = System.currentTimeMillis();
            Hits childrenHits = new AdaptingHits();
            Hits nameHits = new ScorerHits(nameTestScorer);
            int[] docs = new int[1];
            for (int h = nameHits.next(); h > -1; h = nameHits.next()) {
                docs = hResolver.getParents(h, docs);
                if (docs.length == 1) {
                    // optimize single value
                    if (docIds.contains(docs[0])) {
                        childrenHits.set(h);
View Full Code Here

                }

                // filter out documents that do not match the name test
                if (nameTest != null) {
                    Query nameQuery = new NameQuery(nameTest, version, nsMappings);
                    Hits nameHits = new ScorerHits(nameQuery.weight(searcher).scorer(reader));
                    for (int i = hits.nextSetBit(0); i >= 0; i = hits.nextSetBit(i + 1)) {
                        int doc = nameHits.skipTo(i);
                        if (doc == -1) {
                            // no more name tests, clear remaining
                            hits.clear(i, hits.length());
                        } else {
                            // assert doc >= i
View Full Code Here

                String uuid = reader.document(i, FieldSelectors.UUID).get(FieldNames.UUID);
                uuids.put(new Integer(i), uuid);
            }

            // get child node entries for each hit
            Hits childrenHits = new AdaptingHits();
            for (Iterator it = uuids.values().iterator(); it.hasNext(); ) {
                String uuid = (String) it.next();
                NodeId id = new NodeId(UUID.fromString(uuid));
                try {
                    long time = System.currentTimeMillis();
                    NodeState state = (NodeState) itemMgr.getItemState(id);
                    time = System.currentTimeMillis() - time;
                    log.debug("got NodeState with id {} in {} ms.", id, new Long(time));
                    Iterator entries;
                    if (nameTest != null) {
                        entries = state.getChildNodeEntries(nameTest).iterator();
                    } else {
                        // get all children
                        entries = state.getChildNodeEntries().iterator();
                    }
                    while (entries.hasNext()) {
                        NodeId childId = ((ChildNodeEntry) entries.next()).getId();
                        Term uuidTerm = new Term(FieldNames.UUID, childId.toString());
                        TermDocs docs = reader.termDocs(uuidTerm);
                        try {
                            if (docs.next()) {
                                childrenHits.set(docs.doc());
                            }
                        } finally {
                            docs.close();
                        }
                    }
View Full Code Here

        /**
         * {@inheritDoc}
         */
        public Hits getHits() throws IOException {
            long time = System.currentTimeMillis();
            Hits childrenHits = new AdaptingHits();
            Hits nameHits = new ScorerHits(nameTestScorer);
            int[] docs = new int[1];
            for (int h = nameHits.next(); h > -1; h = nameHits.next()) {
                docs = hResolver.getParents(h, docs);
                if (docs.length == 1) {
                    // optimize single value
                    if (docIds.contains(new Integer(docs[0]))) {
                        childrenHits.set(h);
View Full Code Here

                }

                // filter out documents that do not match the name test
                if (nameTest != null) {
                    Query nameQuery = new NameQuery(nameTest, version, nsMappings);
                    Hits nameHits = new ScorerHits(nameQuery.weight(searcher).scorer(reader));
                    for (int i = hits.nextSetBit(0); i >= 0; i = hits.nextSetBit(i + 1)) {
                        int doc = nameHits.skipTo(i);
                        if (doc == -1) {
                            // no more name tests, clear remaining
                            hits.clear(i, hits.length());
                        } else {
                            // assert doc >= i
View Full Code Here

                }

                // filter out documents that do not match the name test
                if (nameTest != null) {
                    Query nameQuery = new NameQuery(nameTest, version, nsMappings);
                    Hits nameHits = new ScorerHits(nameQuery.weight(searcher).scorer(reader, true, false));
                    for (int i = hits.nextSetBit(0); i >= 0; i = hits.nextSetBit(i + 1)) {
                        int doc = nameHits.skipTo(i);
                        if (doc == -1) {
                            // no more name tests, clear remaining
                            hits.clear(i, hits.length());
                        } else {
                            // assert doc >= i
View Full Code Here

        /**
         * {@inheritDoc}
         */
        public Hits getHits() throws IOException {
            long time = System.currentTimeMillis();
            Hits childrenHits = new AdaptingHits();
            Hits nameHits = new ScorerHits(nameTestScorer);
            int[] docs = new int[1];
            for (int h = nameHits.next(); h > -1; h = nameHits.next()) {
                docs = hResolver.getParents(h, docs);
                if (docs.length == 1) {
                    // optimize single value
                    if (docIds.contains(docs[0])) {
                        childrenHits.set(h);
View Full Code Here

                String uuid = reader.document(i, FieldSelectors.UUID).get(FieldNames.UUID);
                uuids.put(i, uuid);
            }

            // get child node entries for each hit
            Hits childrenHits = new AdaptingHits();
            for (String uuid : uuids.values()) {
                NodeId id = new NodeId(uuid);
                try {
                    long time = System.currentTimeMillis();
                    NodeState state = (NodeState) itemMgr.getItemState(id);
                    time = System.currentTimeMillis() - time;
                    log.debug("got NodeState with id {} in {} ms.", id, time);
                    List<ChildNodeEntry> entries;
                    if (nameTest != null) {
                        entries = state.getChildNodeEntries(nameTest);
                    } else {
                        // get all children
                        entries = state.getChildNodeEntries();
                    }
                    for (ChildNodeEntry entry : entries) {
                        NodeId childId = entry.getId();
                        Term uuidTerm = TermFactory.createUUIDTerm(childId.toString());
                        TermDocs docs = reader.termDocs(uuidTerm);
                        try {
                            if (docs.next()) {
                                childrenHits.set(docs.doc());
                            }
                        } finally {
                            docs.close();
                        }
                    }
View Full Code Here

                String uuid = reader.document(i, FieldSelectors.UUID).get(FieldNames.UUID);
                uuids.put(i, uuid);
            }

            // get child node entries for each hit
            Hits childrenHits = new AdaptingHits();
            for (String uuid : uuids.values()) {
                NodeId id = new NodeId(uuid);
                try {
                    long time = System.currentTimeMillis();
                    NodeState state = (NodeState) itemMgr.getItemState(id);
                    time = System.currentTimeMillis() - time;
                    log.debug("got NodeState with id {} in {} ms.", id, time);
                    List<ChildNodeEntry> entries;
                    if (nameTest != null) {
                        entries = state.getChildNodeEntries(nameTest);
                    } else {
                        // get all children
                        entries = state.getChildNodeEntries();
                    }
                    for (ChildNodeEntry entry : entries) {
                        NodeId childId = entry.getId();
                        Term uuidTerm = TermFactory.createUUIDTerm(childId.toString());
                        TermDocs docs = reader.termDocs(uuidTerm);
                        try {
                            if (docs.next()) {
                                childrenHits.set(docs.doc());
                            }
                        } finally {
                            docs.close();
                        }
                    }
View Full Code Here

TOP

Related Classes of org.apache.jackrabbit.core.query.lucene.hits.Hits

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.