Examples of FullTextExpression


Examples of org.apache.jackrabbit.oak.query.fulltext.FullTextExpression

     * @return the Lucene query
     */
    private static Query getQuery(Filter filter, IndexReader reader,
            boolean nonFullTextConstraints, Analyzer analyzer) {
        List<Query> qs = new ArrayList<Query>();
        FullTextExpression ft = filter.getFullTextConstraint();
        if (ft == null) {
            // there might be no full-text constraint
            // when using the LowCostLuceneIndexProvider
            // which is used for testing
        } else {
View Full Code Here

Examples of org.apache.jackrabbit.oak.query.fulltext.FullTextExpression

        SolrQuery solrQuery = new SolrQuery();
        setDefaults(solrQuery);

        StringBuilder queryBuilder = new StringBuilder();

        FullTextExpression ft = filter.getFullTextConstraint();
        if (ft != null) {
            queryBuilder.append(getFullTextQuery(ft));
            queryBuilder.append(' ');
        } else if (filter.getFulltextConditions() != null) {
            Collection<String> fulltextConditions = filter.getFulltextConditions();
View Full Code Here

Examples of org.apache.jackrabbit.oak.query.fulltext.FullTextExpression

                fullTextString.append('(');
                for (int i = 0; i < or.list.size(); i++) {
                    if (i > 0 && i < or.list.size()) {
                        fullTextString.append(" OR ");
                    }
                    FullTextExpression e = or.list.get(i);
                    String orTerm = getFullTextQuery(e);
                    fullTextString.append(orTerm);
                }
                fullTextString.append(')');
                fullTextString.append(' ');
                return true;
            }

            @Override
            public boolean visit(FullTextAnd and) {
                fullTextString.append('(');
                for (int i = 0; i < and.list.size(); i++) {
                    if (i > 0 && i < and.list.size()) {
                        fullTextString.append(" AND ");
                    }
                    FullTextExpression e = and.list.get(i);
                    String andTerm = getFullTextQuery(e);
                    fullTextString.append(andTerm);
                }
                fullTextString.append(')');
                fullTextString.append(' ');
View Full Code Here

Examples of org.apache.jackrabbit.oak.query.fulltext.FullTextExpression

        IndexNode index = tracker.acquireIndexNode("/");
        if (index == null) { // unusable index
            return Double.POSITIVE_INFINITY;
        }
        try {
            FullTextExpression ft = filter.getFullTextConstraint();
            if (ft == null) {
                // no full-text condition: don't use this index,
                // as there might be a better one
                return Double.POSITIVE_INFINITY;
            }
View Full Code Here

Examples of org.apache.jackrabbit.oak.query.fulltext.FullTextExpression

    @Override
    public String getPlan(Filter filter, NodeState root) {
        IndexNode index = tracker.acquireIndexNode("/");
        checkState(index != null, "The Lucene index is not available");
        try {
            FullTextExpression ft = filter.getFullTextConstraint();
            Set<String> relPaths = getRelativePaths(ft);
            if (relPaths.size() > 1) {
                return new MultiLuceneIndex(filter, root, relPaths).getPlan();
            }
            String parent = relPaths.size() == 0 ? "" : relPaths.iterator().next();
View Full Code Here

Examples of org.apache.jackrabbit.oak.query.fulltext.FullTextExpression

        }
    }

    @Override
    public Cursor query(final Filter filter, final NodeState root) {
        FullTextExpression ft = filter.getFullTextConstraint();
        Set<String> relPaths = getRelativePaths(ft);
        if (relPaths.size() > 1) {
            return new MultiLuceneIndex(filter, root, relPaths).query();
        }
View Full Code Here

Examples of org.apache.jackrabbit.oak.query.fulltext.FullTextExpression

     * @return the Lucene query
     */
    private static Query getQuery(Filter filter, IndexReader reader,
            boolean nonFullTextConstraints, Analyzer analyzer, NodeState indexDefinition) {
        List<Query> qs = new ArrayList<Query>();
        FullTextExpression ft = filter.getFullTextConstraint();
        if (ft == null) {
            // there might be no full-text constraint
            // when using the LowCostLuceneIndexProvider
            // which is used for testing
        } else {
View Full Code Here

Examples of org.apache.jackrabbit.oak.query.fulltext.FullTextExpression

    public double getCost(Filter filter, NodeState rootState) {
        if (baseIndex == null) {
            return Double.POSITIVE_INFINITY;
        }
        double localCost = Double.POSITIVE_INFINITY;
        FullTextExpression e = filter.getFullTextConstraint();
        if (e != null && hasCompositeExpression(e)) {
            localCost = flattenCost(e, filter, baseIndex, rootState);
        }
        double baseCost = baseIndex.getCost(filter, rootState);
        return Math.min(localCost, baseCost) - 0.05;
View Full Code Here

Examples of org.apache.jackrabbit.oak.query.fulltext.FullTextExpression

        return newCursor(filter, baseIndex, rootState);
    }

    private static Cursor newCursor(Filter f, FulltextQueryIndex index,
            NodeState state) {
        FullTextExpression e = f.getFullTextConstraint();
        if (hasCompositeExpression(e)) {
            Cursor c = flatten(e, f, index, state);
            if (c != null) {
                return c;
            }
View Full Code Here

Examples of org.apache.jackrabbit.oak.query.fulltext.FullTextExpression

            @Override
            public boolean visit(FullTextAnd and) {
                Iterator<FullTextExpression> iterator = and.list.iterator();
                Cursor c = flatten(iterator.next(), filter, index, state);
                while (iterator.hasNext()) {
                    FullTextExpression input = iterator.next();
                    Cursor newC = flatten(input, filter, index, state);
                    c = Cursors.newIntersectionCursor(c, newC,
                            filter.getQueryEngineSettings());
                }
                result.set(c);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.