Examples of StandardQueryParser

The syntax for query strings is as follows (copied from the old QueryParser javadoc):

The text parser used by this helper is a {@link StandardSyntaxParser}.

The query node processor used by this helper is a {@link StandardQueryNodeProcessorPipeline}.

The builder used by this helper is a {@link StandardQueryTreeBuilder}.

@see StandardQueryParser @see StandardQueryConfigHandler @see StandardSyntaxParser @see StandardQueryNodeProcessorPipeline @see StandardQueryTreeBuilder

  • org.apache.lucene.queryparser.flexible.standard.StandardQueryParser
    query config handler returned by {@link StandardQueryParser} is a{@link StandardQueryConfigHandler}
    queryParserHelper.getQueryConfigHandler().setAnalyzer(new WhitespaceAnalyzer());

    The syntax for query strings is as follows (copied from the old QueryParser javadoc):

    The text parser used by this helper is a {@link StandardSyntaxParser}.

    The query node processor used by this helper is a {@link StandardQueryNodeProcessorPipeline}.

    The builder used by this helper is a {@link StandardQueryTreeBuilder}.

    @see StandardQueryParser @see StandardQueryConfigHandler @see StandardSyntaxParser @see StandardQueryNodeProcessorPipeline @see StandardQueryTreeBuilder


  • Examples of org.apache.lucene.queryParser.standard.StandardQueryParser

      private static int multiToken = 0;

      public void testMultiAnalyzer() throws QueryNodeException {

        StandardQueryParser qp = new StandardQueryParser();
        qp.setAnalyzer(new MultiAnalyzer());

        // trivial, no multiple tokens:
        assertEquals("foo", qp.parse("foo", "").toString());
        assertEquals("foo", qp.parse("\"foo\"", "").toString());
        assertEquals("foo foobar", qp.parse("foo foobar", "").toString());
        assertEquals("\"foo foobar\"", qp.parse("\"foo foobar\"", "").toString());
        assertEquals("\"foo foobar blah\"", qp.parse("\"foo foobar blah\"", "")
            .toString());

        // two tokens at the same position:
        assertEquals("(multi multi2) foo", qp.parse("multi foo", "").toString());
        assertEquals("foo (multi multi2)", qp.parse("foo multi", "").toString());
        assertEquals("(multi multi2) (multi multi2)", qp.parse("multi multi", "")
            .toString());
        assertEquals("+(foo (multi multi2)) +(bar (multi multi2))", qp.parse(
            "+(foo multi) +(bar multi)", "").toString());
        assertEquals("+(foo (multi multi2)) field:\"bar (multi multi2)\"", qp
            .parse("+(foo multi) field:\"bar multi\"", "").toString());

        // phrases:
        assertEquals("\"(multi multi2) foo\"", qp.parse("\"multi foo\"", "")
            .toString());
        assertEquals("\"foo (multi multi2)\"", qp.parse("\"foo multi\"", "")
            .toString());
        assertEquals("\"foo (multi multi2) foobar (multi multi2)\"", qp.parse(
            "\"foo multi foobar multi\"", "").toString());

        // fields:
        assertEquals("(field:multi field:multi2) field:foo", qp.parse(
            "field:multi field:foo", "").toString());
        assertEquals("field:\"(multi multi2) foo\"", qp.parse(
            "field:\"multi foo\"", "").toString());

        // three tokens at one position:
        assertEquals("triplemulti multi3 multi2", qp.parse("triplemulti", "")
            .toString());
        assertEquals("foo (triplemulti multi3 multi2) foobar", qp.parse(
            "foo triplemulti foobar", "").toString());

        // phrase with non-default slop:
        assertEquals("\"(multi multi2) foo\"~10", qp.parse("\"multi foo\"~10", "")
            .toString());

        // phrase with non-default boost:
        assertEquals("\"(multi multi2) foo\"^2.0", qp.parse("\"multi foo\"^2", "")
            .toString());

        // phrase after changing default slop
        qp.setDefaultPhraseSlop(99);
        assertEquals("\"(multi multi2) foo\"~99 bar", qp.parse("\"multi foo\" bar",
            "").toString());
        assertEquals("\"(multi multi2) foo\"~99 \"foo bar\"~2", qp.parse(
            "\"multi foo\" \"foo bar\"~2", "").toString());
        qp.setDefaultPhraseSlop(0);

        // non-default operator:
        qp.setDefaultOperator(Operator.AND);
        assertEquals("+(multi multi2) +foo", qp.parse("multi foo", "").toString());

      }
    View Full Code Here

    Examples of org.apache.lucene.queryParser.standard.StandardQueryParser

      // qp.parse("\"multi foo\" bar").toString());
      //   
      // }

      public void testPosIncrementAnalyzer() throws QueryNodeException {
        StandardQueryParser qp = new StandardQueryParser();
        qp.setAnalyzer(new PosIncrementAnalyzer());

        assertEquals("quick brown", qp.parse("the quick brown", "").toString());
        assertEquals("\"quick brown\"", qp.parse("\"the quick brown\"", "")
            .toString());
        assertEquals("quick brown fox", qp.parse("the quick brown fox", "")
            .toString());
        assertEquals("\"quick brown fox\"", qp.parse("\"the quick brown fox\"", "")
            .toString());
      }
    View Full Code Here

    Examples of org.apache.lucene.queryParser.standard.StandardQueryParser

      private static int multiToken = 0;

      public void testMultiAnalyzer() throws QueryNodeException {

        StandardQueryParser qp = new StandardQueryParser();
        qp.setAnalyzer(new MultiAnalyzer());

        // trivial, no multiple tokens:
        assertEquals("foo", qp.parse("foo", "").toString());
        assertEquals("foo", qp.parse("\"foo\"", "").toString());
        assertEquals("foo foobar", qp.parse("foo foobar", "").toString());
        assertEquals("\"foo foobar\"", qp.parse("\"foo foobar\"", "").toString());
        assertEquals("\"foo foobar blah\"", qp.parse("\"foo foobar blah\"", "")
            .toString());

        // two tokens at the same position:
        assertEquals("(multi multi2) foo", qp.parse("multi foo", "").toString());
        assertEquals("foo (multi multi2)", qp.parse("foo multi", "").toString());
        assertEquals("(multi multi2) (multi multi2)", qp.parse("multi multi", "")
            .toString());
        assertEquals("+(foo (multi multi2)) +(bar (multi multi2))", qp.parse(
            "+(foo multi) +(bar multi)", "").toString());
        assertEquals("+(foo (multi multi2)) field:\"bar (multi multi2)\"", qp
            .parse("+(foo multi) field:\"bar multi\"", "").toString());

        // phrases:
        assertEquals("\"(multi multi2) foo\"", qp.parse("\"multi foo\"", "")
            .toString());
        assertEquals("\"foo (multi multi2)\"", qp.parse("\"foo multi\"", "")
            .toString());
        assertEquals("\"foo (multi multi2) foobar (multi multi2)\"", qp.parse(
            "\"foo multi foobar multi\"", "").toString());

        // fields:
        assertEquals("(field:multi field:multi2) field:foo", qp.parse(
            "field:multi field:foo", "").toString());
        assertEquals("field:\"(multi multi2) foo\"", qp.parse(
            "field:\"multi foo\"", "").toString());

        // three tokens at one position:
        assertEquals("triplemulti multi3 multi2", qp.parse("triplemulti", "")
            .toString());
        assertEquals("foo (triplemulti multi3 multi2) foobar", qp.parse(
            "foo triplemulti foobar", "").toString());

        // phrase with non-default slop:
        assertEquals("\"(multi multi2) foo\"~10", qp.parse("\"multi foo\"~10", "")
            .toString());

        // phrase with non-default boost:
        assertEquals("\"(multi multi2) foo\"^2.0", qp.parse("\"multi foo\"^2", "")
            .toString());

        // phrase after changing default slop
        qp.setDefaultPhraseSlop(99);
        assertEquals("\"(multi multi2) foo\"~99 bar", qp.parse("\"multi foo\" bar",
            "").toString());
        assertEquals("\"(multi multi2) foo\"~99 \"foo bar\"~2", qp.parse(
            "\"multi foo\" \"foo bar\"~2", "").toString());
        qp.setDefaultPhraseSlop(0);

        // non-default operator:
        qp.setDefaultOperator(Operator.AND);
        assertEquals("+(multi multi2) +foo", qp.parse("multi foo", "").toString());

      }
    View Full Code Here

    Examples of org.apache.lucene.queryParser.standard.StandardQueryParser

      // qp.parse("\"multi foo\" bar").toString());
      //   
      // }

      public void testPosIncrementAnalyzer() throws QueryNodeException {
        StandardQueryParser qp = new StandardQueryParser();
        qp.setAnalyzer(new PosIncrementAnalyzer());

        assertEquals("quick brown", qp.parse("the quick brown", "").toString());
        assertEquals("\"quick brown\"", qp.parse("\"the quick brown\"", "")
            .toString());
        assertEquals("quick brown fox", qp.parse("the quick brown fox", "")
            .toString());
        assertEquals("\"quick brown fox\"", qp.parse("\"the quick brown fox\"", "")
            .toString());
      }
    View Full Code Here

    Examples of org.apache.lucene.queryParser.standard.StandardQueryParser

      }

      public StandardQueryParser getParser(Analyzer a) throws Exception {
        if (a == null)
          a = new SimpleAnalyzer(TEST_VERSION_CURRENT);
        StandardQueryParser qp = new StandardQueryParser();
        qp.setAnalyzer(a);

        qp.setDefaultOperator(StandardQueryConfigHandler.Operator.OR);

        return qp;

      }
    View Full Code Here

    Examples of org.apache.lucene.queryParser.standard.StandardQueryParser

      public Query getQuery(String query, Analyzer a) throws Exception {
        return getParser(a).parse(query, "field");
      }

      public Query getQueryAllowLeadingWildcard(String query, Analyzer a) throws Exception {
        StandardQueryParser parser = getParser(a);
        parser.setAllowLeadingWildcard(true);
        return parser.parse(query, "field");
      }
    View Full Code Here

    Examples of org.apache.lucene.queryParser.standard.StandardQueryParser

        }
      }

      public void assertWildcardQueryEquals(String query, boolean lowercase,
          String result, boolean allowLeadingWildcard) throws Exception {
        StandardQueryParser qp = getParser(null);
        qp.setLowercaseExpandedTerms(lowercase);
        qp.setAllowLeadingWildcard(allowLeadingWildcard);
        Query q = qp.parse(query, "field");
        String s = q.toString("field");
        if (!s.equals(result)) {
          fail("WildcardQuery /" + query + "/ yielded /" + s + "/, expecting /"
              + result + "/");
        }
    View Full Code Here

    Examples of org.apache.lucene.queryParser.standard.StandardQueryParser

        assertWildcardQueryEquals(query, lowercase, result, false);
      }

      public void assertWildcardQueryEquals(String query, String result)
          throws Exception {
        StandardQueryParser qp = getParser(null);
        Query q = qp.parse(query, "field");
        String s = q.toString("field");
        if (!s.equals(result)) {
          fail("WildcardQuery /" + query + "/ yielded /" + s + "/, expecting /"
              + result + "/");
        }
    View Full Code Here

    Examples of org.apache.lucene.queryParser.standard.StandardQueryParser

      }

      public Query getQueryDOA(String query, Analyzer a) throws Exception {
        if (a == null)
          a = new SimpleAnalyzer(TEST_VERSION_CURRENT);
        StandardQueryParser qp = new StandardQueryParser();
        qp.setAnalyzer(a);
        qp.setDefaultOperator(Operator.AND);

        return qp.parse(query, "field");

      }
    View Full Code Here

    Examples of org.apache.lucene.queryParser.standard.StandardQueryParser

              + "/");
        }
      }

      public void testConstantScoreAutoRewrite() throws Exception {
        StandardQueryParser qp = new StandardQueryParser(new MockAnalyzer(random, MockTokenizer.WHITESPACE, false));
        Query q = qp.parse("foo*bar", "field");
        assertTrue(q instanceof WildcardQuery);
        assertEquals(MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT, ((MultiTermQuery) q).getRewriteMethod());

        q = qp.parse("foo*", "field");
        assertTrue(q instanceof PrefixQuery);
        assertEquals(MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT, ((MultiTermQuery) q).getRewriteMethod());

        q = qp.parse("[a TO z]", "field");
        assertTrue(q instanceof TermRangeQuery);
        assertEquals(MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT, ((MultiTermQuery) q).getRewriteMethod());
      }
    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.