Changeset 4565 for vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/impl/SolrFacetQueryFactoryImpl.java
- Timestamp:
- 02/25/14 14:25:15 (10 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/impl/SolrFacetQueryFactoryImpl.java
r4543 r4565 18 18 19 19 import eu.clarin.cmdi.vlo.FacetConstants; 20 import eu.clarin.cmdi.vlo.config.VloConfig; 21 import eu.clarin.cmdi.vlo.service.SolrQueryFactory; 20 import eu.clarin.cmdi.vlo.service.SolrFacetQueryFactory; 22 21 import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection; 23 22 import java.util.ArrayList; … … 34 33 * @author twagoo 35 34 */ 36 public class Solr QueryFactoryImpl implements SolrQueryFactory {37 35 public class SolrFacetQueryFactoryImpl implements SolrFacetQueryFactory { 36 38 37 private static final String SOLR_SEARCH_ALL = "*:*"; 39 private final SolrQuery countQuery; 40 private final VloConfig config; 41 42 public SolrQueryFactoryImpl(VloConfig config) { 43 this.config = config; 38 private final SolrQuery facetCountQuery; 39 private final String[] facets; 40 41 /** 42 * 43 * @param facets names of facets to include in query 44 */ 45 public SolrFacetQueryFactoryImpl(List<String> facets) { 46 this.facets = facets.toArray(new String[facets.size()]); 44 47 45 48 // create the query used to count facets (will never change) 46 countQuery = getDefaultFacetQuery();47 countQuery.setRows(0);49 facetCountQuery = getDefaultFacetQuery(); 50 facetCountQuery.setRows(0); 48 51 } 49 52 50 53 @Override 51 54 public SolrQuery createFacetQuery(QueryFacetsSelection queryFacetsSelections) { … … 54 57 return query; 55 58 } 56 59 57 60 @Override 58 61 public SolrQuery createDocumentQuery(QueryFacetsSelection selection, int first, int count) { … … 63 66 return query; 64 67 } 65 68 66 69 protected void addQueryFacetParameters(final SolrQuery query, QueryFacetsSelection queryFacetsSelections) { 67 70 final String queryString = queryFacetsSelections.getQuery(); 68 71 69 72 if (queryString == null) { 70 73 query.setQuery(SOLR_SEARCH_ALL); … … 72 75 query.setQuery(ClientUtils.escapeQueryChars(queryString)); 73 76 } 74 75 Map<String, Collection<String>> selections = queryFacetsSelections.getSelection(); 76 77 78 final Map<String, Collection<String>> selections = queryFacetsSelections.getSelection(); 77 79 if (selections != null) { 78 80 final List<String> encodedQueries = new ArrayList(selections.size()); // assuming every facet has one selection, most common scenario … … 89 91 } 90 92 } 91 93 92 94 private SolrQuery getDefaultFacetQuery() { 93 95 SolrQuery query = new SolrQuery(); … … 95 97 query.setFacet(true); 96 98 query.setFacetMinCount(1); 97 query.addFacetField( config.getFacetFields());99 query.addFacetField(facets); 98 100 return query; 99 101 } 100 102 101 103 private SolrQuery getDefaultDocumentQuery() { 102 104 SolrQuery query = new SolrQuery(); … … 105 107 return query; 106 108 } 107 109 108 110 @Override 109 111 public synchronized SolrQuery createCountFacetsQuery() { 110 return countQuery;112 return facetCountQuery; 111 113 } 112 114 113 115 }
Note: See TracChangeset
for help on using the changeset viewer.