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

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


        }

        private void collectContextHits() throws IOException {
            if (!contextHitsCalculated) {
                long time = System.currentTimeMillis();
                contextScorer.score(new AbstractHitCollector() {
                    @Override
                    protected void collect(int doc, float score) {
                        contextHits.set(doc);
                    }
                }); // find all
View Full Code Here


         * @throws IOException
         */
        private void calculateChildren() throws IOException {
//                subQueryHits.clear();
//                hits.clear();
            subQueryScorer.score(new AbstractHitCollector() {
                @Override
                protected void collect(int doc, float score) {
                    subQueryHits.set(doc);
                }
            });

            TermDocs termDocs = reader.termDocs(new Term(FieldNames.PROPERTIES_SET, refProperty));
            String prefix = FieldNames.createNamedValue(refProperty, "");
            while (termDocs.next()) {
                int doc = termDocs.doc();

                String[] values = reader.document(doc).getValues(FieldNames.PROPERTIES);
                if (values == null) {
                    // no reference properties at all on this node
                    continue;
                }
                for (int v = 0; v < values.length; v++) {
                    if (values[v].startsWith(prefix)) {
                        String uuid = values[v].substring(prefix.length());

                        TermDocs node = reader.termDocs(TermFactory.createUUIDTerm(uuid));
                        try {
                            while (node.next()) {
                                if (subQueryHits.get(node.doc())) {
                                    hits.set(doc);
                                }
                            }
                        } finally {
                            node.close();
                        }
                    }
                }
            }

            // collect nameTest hits
            final BitSet nameTestHits = new BitSet();
            if (nameTestScorer != null) {
                nameTestScorer.score(new AbstractHitCollector() {
                    @Override
                    protected void collect(int doc, float score) {
                        nameTestHits.set(doc);
                    }
                });
View Full Code Here

                final ChildrenCalculator[] calc = new ChildrenCalculator[1];
                if (nameTestScorer == null) {
                    // always use simple in that case
                    calc[0] = new SimpleChildrenCalculator(reader, hResolver);
                    contextScorer.score(new AbstractHitCollector() {
                        @Override
                        protected void collect(int doc, float score) {
                            calc[0].collectContextHit(doc);
                        }
                    });
                } else {
                    // start simple but switch once threshold is reached
                    calc[0] = new SimpleChildrenCalculator(reader, hResolver);
                    contextScorer.score(new AbstractHitCollector() {

                        private List<Integer> docIds = new ArrayList<Integer>();

                        @Override
                        protected void collect(int doc, float score) {
View Full Code Here

                final ChildrenCalculator[] calc = new ChildrenCalculator[1];
                if (nameTestScorer == null) {
                    // always use simple in that case
                    calc[0] = new SimpleChildrenCalculator(reader, hResolver);
                    contextScorer.score(new AbstractHitCollector() {
                        @Override
                        protected void collect(int doc, float score) {
                            calc[0].collectContextHit(doc);
                        }
                    });
                } else {
                    // start simple but switch once threshold is reached
                    calc[0] = new SimpleChildrenCalculator(reader, hResolver);
                    contextScorer.score(new AbstractHitCollector() {

                        private List<Integer> docIds = new ArrayList<Integer>();

                        @Override
                        protected void collect(int doc, float score) {
View Full Code Here

        }

        private void collectContextHits() throws IOException {
            if (!contextHitsCalculated) {
                long time = System.currentTimeMillis();
                contextScorer.score(new AbstractHitCollector() {
                    @Override
                    protected void collect(int doc, float score) {
                        contextHits.set(doc);
                    }
                }); // find all
View Full Code Here

         * @throws IOException
         */
        private void calculateChildren() throws IOException {
//                subQueryHits.clear();
//                hits.clear();
            subQueryScorer.score(new AbstractHitCollector() {
                @Override
                protected void collect(int doc, float score) {
                    subQueryHits.set(doc);
                }
            });

            TermDocs termDocs = reader.termDocs(new Term(FieldNames.PROPERTIES_SET, refProperty));
            String prefix = FieldNames.createNamedValue(refProperty, "");
            while (termDocs.next()) {
                int doc = termDocs.doc();

                String[] values = reader.document(doc).getValues(FieldNames.PROPERTIES);
                if (values == null) {
                    // no reference properties at all on this node
                    continue;
                }
                for (int v = 0; v < values.length; v++) {
                    if (values[v].startsWith(prefix)) {
                        String uuid = values[v].substring(prefix.length());

                        TermDocs node = reader.termDocs(TermFactory.createUUIDTerm(uuid));
                        try {
                            while (node.next()) {
                                if (subQueryHits.get(node.doc())) {
                                    hits.set(doc);
                                }
                            }
                        } finally {
                            node.close();
                        }
                    }
                }
            }

            // collect nameTest hits
            final BitSet nameTestHits = new BitSet();
            if (nameTestScorer != null) {
                nameTestScorer.score(new AbstractHitCollector() {
                    @Override
                    protected void collect(int doc, float score) {
                        nameTestHits.set(doc);
                    }
                });
View Full Code Here

                final ChildrenCalculator[] calc = new ChildrenCalculator[1];
                if (nameTestScorer == null) {
                    // always use simple in that case
                    calc[0] = new SimpleChildrenCalculator(reader, hResolver);
                    contextScorer.score(new AbstractHitCollector() {
                        @Override
                        protected void collect(int doc, float score) {
                            calc[0].collectContextHit(doc);
                        }
                    });
                } else {
                    // start simple but switch once threshold is reached
                    calc[0] = new SimpleChildrenCalculator(reader, hResolver);
                    contextScorer.score(new AbstractHitCollector() {

                        private List<Integer> docIds = new ArrayList<Integer>();

                        @Override
                        protected void collect(int doc, float score) {
View Full Code Here

        private void collectContextHits() throws IOException {
            if (!contextHitsCalculated) {
                long time = System.currentTimeMillis();
                if (contextScorer != null) {
                    contextScorer.score(new AbstractHitCollector() {
                        @Override
                        protected void collect(int doc, float score) {
                            contextHits.set(doc);
                        }
                    }); // find all
View Full Code Here

         * @throws IOException
         */
        private void calculateChildren() throws IOException {
//                subQueryHits.clear();
//                hits.clear();
            subQueryScorer.score(new AbstractHitCollector() {
                @Override
                protected void collect(int doc, float score) {
                    subQueryHits.set(doc);
                }
            });

            TermDocs termDocs = reader.termDocs(new Term(FieldNames.PROPERTIES_SET, refProperty));
            String prefix = FieldNames.createNamedValue(refProperty, "");
            while (termDocs.next()) {
                int doc = termDocs.doc();

                String[] values = reader.document(doc).getValues(FieldNames.PROPERTIES);
                if (values == null) {
                    // no reference properties at all on this node
                    continue;
                }
                for (int v = 0; v < values.length; v++) {
                    if (values[v].startsWith(prefix)) {
                        String uuid = values[v].substring(prefix.length());

                        TermDocs node = reader.termDocs(TermFactory.createUUIDTerm(uuid));
                        try {
                            while (node.next()) {
                                if (subQueryHits.get(node.doc())) {
                                    hits.set(doc);
                                }
                            }
                        } finally {
                            node.close();
                        }
                    }
                }
            }

            // collect nameTest hits
            final BitSet nameTestHits = new BitSet();
            if (nameTestScorer != null) {
                nameTestScorer.score(new AbstractHitCollector() {
                    @Override
                    protected void collect(int doc, float score) {
                        nameTestHits.set(doc);
                    }
                });
View Full Code Here

        try {
            IndexSearcher searcher = new IndexSearcher(reader);
            try {
                Query q = new TermQuery(new Term(
                        FieldNames.WEAK_REFS, id.toString()));
                searcher.search(q, new AbstractHitCollector() {
                    @Override
                    public void collect(int doc, float score) {
                        docs.add(doc);
                    }
                });
View Full Code Here

TOP

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

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.