Spring Data Solr

org.springframework.data.solr.core
Class QueryParserBase<QUERYTPYE extends SolrDataQuery>

java.lang.Object
  extended by org.springframework.data.solr.core.QueryParserBase<QUERYTPYE>
All Implemented Interfaces:
QueryParser
Direct Known Subclasses:
DefaultQueryParser, TermsQueryParser

public abstract class QueryParserBase<QUERYTPYE extends SolrDataQuery>
extends Object
implements QueryParser

Base Implementation of QueryParser providing common functions for creating SolrQuery.

Author:
Christoph Strobl

Nested Class Summary
static interface QueryParserBase.CriteriaEntryProcessor
          CriteriaEntryProcessor creates a solr reable query string representation for a given Criteria.CriteriaEntry
 
Field Summary
protected static String BOOST
           
protected  GenericConversionService conversionService
           
protected static String CRITERIA_VALUE_SEPERATOR
           
protected static String DELIMINATOR
           
protected static String NOT
           
 
Constructor Summary
QueryParserBase()
           
 
Method Summary
 void addCriteriaEntryProcessor(QueryParserBase.CriteriaEntryProcessor processor)
          add another QueryParserBase.CriteriaEntryProcessor
protected  void appendDefaultOperator(org.apache.solr.client.solrj.SolrQuery solrQuery, Query.Operator defaultOperator)
          Set q.op parameter for SolrQuery
protected  void appendDefType(org.apache.solr.client.solrj.SolrQuery solrQuery, String defType)
          Set defType for SolrQuery
protected  void appendPagination(org.apache.solr.client.solrj.SolrQuery query, Pageable pageable)
          Append pagination information start, rows to SolrQuery
protected  void appendProjectionOnFields(org.apache.solr.client.solrj.SolrQuery solrQuery, List<Field> fields)
          Append field list to SolrQuery
protected  void appendRequestHandler(org.apache.solr.client.solrj.SolrQuery solrQuery, String requestHandler)
          Set request handler parameter for SolrQuery
protected  void appendTimeAllowed(org.apache.solr.client.solrj.SolrQuery solrQuery, Integer timeAllowed)
          Set SolrQuery.setTimeAllowed(Integer)
 org.apache.solr.client.solrj.SolrQuery constructSolrQuery(SolrDataQuery query)
          Convert given Query into a SolrQuery executable via SolrServer
protected  String createCalculatedFieldFragment(CalculatedField calculatedField)
          Create SolrServer readable String representation for CalculatedField.
protected  String createFunctionFragment(Function function)
          Create SolrServer readable String representation for Function
protected  String createQueryFragmentForCriteria(Criteria criteria)
          Creates query string representation of a single critiera
protected  String createQueryStringFromCriteria(Criteria criteria)
          Iterates criteria list and concats query string fragments to form a valid query string to be used with SolrQuery.setQuery(String)
abstract  org.apache.solr.client.solrj.SolrQuery doConstructSolrQuery(QUERYTPYE query)
           
 String getQueryString(SolrDataQuery query)
          Get the queryString to use withSolrQuery.setParam(CommonParams.Q, "queryString"}
protected  String prependJoin(String queryString, SolrDataQuery query)
          Prepend {@code !
 void registerConverter(Converter<?,?> converter)
          Register an additional converter for transforming object values to solr readable format
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CRITERIA_VALUE_SEPERATOR

protected static final String CRITERIA_VALUE_SEPERATOR
See Also:
Constant Field Values

DELIMINATOR

protected static final String DELIMINATOR
See Also:
Constant Field Values

NOT

protected static final String NOT
See Also:
Constant Field Values

BOOST

protected static final String BOOST
See Also:
Constant Field Values

conversionService

protected final GenericConversionService conversionService
Constructor Detail

QueryParserBase

public QueryParserBase()
Method Detail

getQueryString

public String getQueryString(SolrDataQuery query)
Description copied from interface: QueryParser
Get the queryString to use withSolrQuery.setParam(CommonParams.Q, "queryString"}

Specified by:
getQueryString in interface QueryParser
Returns:
String representation of query without faceting, pagination, projection...

registerConverter

public void registerConverter(Converter<?,?> converter)
Description copied from interface: QueryParser
Register an additional converter for transforming object values to solr readable format

Specified by:
registerConverter in interface QueryParser

addCriteriaEntryProcessor

public void addCriteriaEntryProcessor(QueryParserBase.CriteriaEntryProcessor processor)
add another QueryParserBase.CriteriaEntryProcessor

Parameters:
processor -

createQueryStringFromCriteria

protected String createQueryStringFromCriteria(Criteria criteria)
Iterates criteria list and concats query string fragments to form a valid query string to be used with SolrQuery.setQuery(String)

Parameters:
criteria -
Returns:

createQueryFragmentForCriteria

protected String createQueryFragmentForCriteria(Criteria criteria)
Creates query string representation of a single critiera

Parameters:
criteria -
Returns:

createCalculatedFieldFragment

protected String createCalculatedFieldFragment(CalculatedField calculatedField)
Create SolrServer readable String representation for CalculatedField.

Parameters:
calculatedField -
Returns:
Since:
1.1

createFunctionFragment

protected String createFunctionFragment(Function function)
Create SolrServer readable String representation for Function

Parameters:
function -
Returns:
Since:
1.1

prependJoin

protected String prependJoin(String queryString,
                             SolrDataQuery query)
Prepend !join from= to= to given queryString

Parameters:
queryString -
query -
Returns:

appendPagination

protected void appendPagination(org.apache.solr.client.solrj.SolrQuery query,
                                Pageable pageable)
Append pagination information start, rows to SolrQuery

Parameters:
query -
pageable -

appendProjectionOnFields

protected void appendProjectionOnFields(org.apache.solr.client.solrj.SolrQuery solrQuery,
                                        List<Field> fields)
Append field list to SolrQuery

Parameters:
solrQuery -
fields -

appendDefaultOperator

protected void appendDefaultOperator(org.apache.solr.client.solrj.SolrQuery solrQuery,
                                     Query.Operator defaultOperator)
Set q.op parameter for SolrQuery

Parameters:
solrQuery -
defaultOperator -

appendTimeAllowed

protected void appendTimeAllowed(org.apache.solr.client.solrj.SolrQuery solrQuery,
                                 Integer timeAllowed)
Set SolrQuery.setTimeAllowed(Integer)

Parameters:
solrQuery -
timeAllowed -

appendDefType

protected void appendDefType(org.apache.solr.client.solrj.SolrQuery solrQuery,
                             String defType)
Set defType for SolrQuery

Parameters:
solrQuery -
defType -

appendRequestHandler

protected void appendRequestHandler(org.apache.solr.client.solrj.SolrQuery solrQuery,
                                    String requestHandler)
Set request handler parameter for SolrQuery

Parameters:
solrQuery -
requestHandler -

constructSolrQuery

public org.apache.solr.client.solrj.SolrQuery constructSolrQuery(SolrDataQuery query)
Description copied from interface: QueryParser
Convert given Query into a SolrQuery executable via SolrServer

Specified by:
constructSolrQuery in interface QueryParser
Returns:

doConstructSolrQuery

public abstract org.apache.solr.client.solrj.SolrQuery doConstructSolrQuery(QUERYTPYE query)

Spring Data Solr

Copyright © 2011-2014-2014 Pivotal. All Rights Reserved.