Class MCRConditionTransformer

java.lang.Object
org.mycore.solr.search.MCRConditionTransformer

public class MCRConditionTransformer extends Object
Author:
Thomas Scheffler (yagee), Jens Kupferschmidt
  • Field Details

    • MIXED

      protected static final String MIXED
      If a condition references fields from multiple indexes, this constant is returned
      See Also:
  • Constructor Details

    • MCRConditionTransformer

      public MCRConditionTransformer()
  • Method Details

    • toSolrQueryString

      public static String toSolrQueryString(MCRCondition condition, Set<String> usedFields)
    • explicitAndOrMapping

      public static boolean explicitAndOrMapping()
    • getLTQuery

      public static StringBuilder getLTQuery(String field, String value)
    • getLTEQuery

      public static StringBuilder getLTEQuery(String field, String value)
    • getGTQuery

      public static StringBuilder getGTQuery(String field, String value)
    • getGTEQuery

      public static StringBuilder getGTEQuery(String field, String value)
    • getTermQuery

      public static StringBuilder getTermQuery(String field, String value)
    • getPhraseQuery

      public static StringBuilder getPhraseQuery(String field, String value)
    • getSolrQuery

      public static org.apache.solr.client.solrj.SolrQuery getSolrQuery(MCRCondition condition, List<MCRSortBy> sortBy, int maxResults, List<String> returnFields)
    • getQueryString

      public static String getQueryString(MCRCondition condition)
    • applySortOptions

      public static org.apache.solr.client.solrj.SolrQuery applySortOptions(org.apache.solr.client.solrj.SolrQuery q, List<MCRSortBy> sortBy)
    • buildMergedSolrQuery

      public static org.apache.solr.client.solrj.SolrQuery buildMergedSolrQuery(List<MCRSortBy> sortBy, boolean not, boolean and, HashMap<String,List<MCRCondition>> table, int maxHits, List<String> returnFields)
      Builds SOLR query. Automatically builds JOIN-Query if content search fields are used in query.
      Parameters:
      sortBy - sort criteria
      not - true, if all conditions should be negated
      and - AND or OR connective between conditions
      table - conditions per "content" or "metadata"
      maxHits - maximum hits
    • buildSubCondition

      protected static MCRCondition buildSubCondition(List<MCRCondition> conditions, boolean and, boolean not)
      Builds a new condition for all fields from one single index
    • groupConditionsByIndex

      public static HashMap<String,List<MCRCondition>> groupConditionsByIndex(MCRSetCondition cond)
      Build a table from index ID to a List of conditions referencing this index
    • getIndex

      public static String getIndex(String fieldName)