Example usage for org.apache.solr.search QParser getParser

List of usage examples for org.apache.solr.search QParser getParser

Introduction

In this page you can find the example usage for org.apache.solr.search QParser getParser.

Prototype

public static QParser getParser(String qstr, SolrQueryRequest req) throws SyntaxError 

Source Link

Document

Create a QParser to parse qstr, using the "lucene" (QParserPlugin.DEFAULT_QTYPE) query parser.

Usage

From source file:org.tallison.solr.search.QueryEqualityTest.java

License:Apache License

public void testBlockJoin() throws Exception {
    assertQueryEquals("parent", "{!parent which=foo_s:parent}dude", "{!parent which=foo_s:parent}dude");
    assertQueryEquals("child", "{!child of=foo_s:parent}dude", "{!child of=foo_s:parent}dude");
    // zero query case
    assertQueryEquals(null, "{!parent which=foo_s:parent}", "{!parent which=foo_s:parent}");
    assertQueryEquals(null, "{!child of=foo_s:parent}", "{!child of=foo_s:parent}");
    assertQueryEquals(null, "{!parent which='+*:* -foo_s:parent'}", "{!child of=foo_s:parent}");

    final SolrQueryRequest req = req("fq", "bar_s:baz", "fq", "{!tag=fqban}bar_s:ban", "ffq", "bar_s:baz",
            "ffq", "{!tag=ffqban}bar_s:ban");
    try {/*from ww  w. jav  a 2  s  .  c o m*/
        assertQueryEquals("filters", req, "{!parent which=foo_s:parent param=$fq}foo_s:bar",
                "{!parent which=foo_s:parent param=$ffq}foo_s:bar" // differently named params
        );
        assertQueryEquals("filters", req, "{!parent which=foo_s:parent param=$fq excludeTags=fqban}foo_s:bar",
                "{!parent which=foo_s:parent param=$ffq excludeTags=ffqban}foo_s:bar" // differently named params
        );

        QueryUtils.checkUnequal(// parent filter is not an equal to child
                QParser.getParser("{!child of=foo_s:parent}", req).getQuery(),
                QParser.getParser("{!parent which=foo_s:parent}", req).getQuery());

    } finally {
        req.close();
    }
}

From source file:org.tallison.solr.search.QueryEqualityTest.java

License:Apache License

public void testFilters() throws Exception {
    final SolrQueryRequest req = req("fq", "bar_s:baz", "fq", "{!tag=fqban}bar_s:ban", "ffq",
            "{!tag=ffqbaz}bar_s:baz", "ffq", "{!tag=ffqban}bar_s:ban");
    try {//ww  w  .  ja  v  a2 s .  co m
        assertQueryEquals("filters", req, "{!filters param=$fq}foo_s:bar", "{!filters param=$fq}foo_s:bar",
                "{!filters param=$ffq}foo_s:bar" // differently named params
        );
        assertQueryEquals("filters", req, "{!filters param=$fq excludeTags=fqban}foo_s:bar",
                "{!filters param=$ffq  excludeTags=ffqban}foo_s:bar");
        assertQueryEquals("filters", req, "{!filters excludeTags=top}{!tag=top v='foo_s:bar'}",
                "{!filters param=$ffq excludeTags='ffqban,ffqbaz'}");
        QueryUtils.checkUnequal(QParser.getParser("{!filters param=$fq}foo_s:bar", req).getQuery(),
                QParser.getParser("{!filters param=$fq excludeTags=fqban}foo_s:bar", req).getQuery());
    } finally {
        req.close();
    }
}