Class XmlQParserPlugin

  • All Implemented Interfaces:
    SolrInfoBean, NamedListInitializedPlugin

    public class XmlQParserPlugin
    extends QParserPlugin
    The XmlQParserPlugin extends the QParserPlugin and supports the creation of queries from XML.

    Example:

    <BooleanQuery fieldName="description">
       <Clause occurs="must">
          <TermQuery>shirt</TermQuery>
       </Clause>
       <Clause occurs="mustnot">
          <TermQuery>plain</TermQuery>
       </Clause>
       <Clause occurs="should">
          <TermQuery>cotton</TermQuery>
       </Clause>
       <Clause occurs="must">
          <BooleanQuery fieldName="size">
             <Clause occurs="should">
                <TermsQuery>S M L</TermsQuery>
             </Clause>
          </BooleanQuery>
       </Clause>
    </BooleanQuery>
    
    You can configure your own custom query builders for additional XML elements. The custom builders need to extend the SolrQueryBuilder or the SolrSpanQueryBuilder class.

    Example solrconfig.xml snippet:

    <queryParser name="xmlparser" class="XmlQParserPlugin">
      <str name="MyCustomQuery">com.mycompany.solr.search.MyCustomQueryBuilder</str>
    </queryParser>