@Override public void attachFacets(SolrQuery query, Map<String, SearchFacetDTO> namedFacetMap, SearchCriteria searchCriteria) { query.setFacet(true); for (Entry<String, SearchFacetDTO> entry : namedFacetMap.entrySet()) { SearchFacetDTO dto = entry.getValue(); ExtensionResultStatusType status = searchExtensionManager.getProxy().attachFacet(query, entry.getKey(), dto, searchCriteria); if (ExtensionResultStatusType.NOT_HANDLED.equals(status)) { List<SearchFacetRange> facetRanges = searchFacetDao.readSearchFacetRangesForSearchFacet(dto.getFacet()); if (searchExtensionManager != null) { searchExtensionManager.getProxy().filterSearchFacetRanges(dto, facetRanges); } if (CollectionUtils.isNotEmpty(facetRanges)) { for (SearchFacetRange range : facetRanges) { query.addFacetQuery(getSolrTaggedFieldString(entry.getKey(), "key", range)); } } else { query.addFacetField(getSolrTaggedFieldString(entry.getKey(), "ex", null)); } } } }
/** * A query that shows how to combine SIREn query with the Solr's facet feature * on a Solr field. */ private SolrQuery getDeviceControllerFacet() { final SolrQuery query = new SolrQuery(); query.setQuery("Connector : [ { RatedOutputCurrent : xsd:long([32 TO *]) } ]"); query.addFacetField("DeviceController_facet"); return query; }
protected void setFacets ( SolrQuery squery, String [ ] facets ) { // If String array is not null and is longer than 0 if ( facets != null && facets.length > 0 ){ // set faceting enable squery.setFacet ( true ) ; squery.setFacetMinCount ( 1 ) ; squery.setFacetSort ( FacetParams.FACET_SORT_COUNT ) ; squery.addFacetField ( facets ) ; } }
private static void setQueryFacetParameter(SolrQuery query, SimpleFacetParameter facetParameter) { query.addFacetField(facetParameter.getName()); query.add(String.format("f.%s.facet.mincount", facetParameter.getName()), String.valueOf(facetParameter.getMinCount())); query.add(String.format("f.%s.facet.limit", facetParameter.getName()), String.valueOf(facetParameter.getLimit())); }
private void addFacetParameters(SolrQuery query) { query.setFacet(true); query.addFacetField(facetFieldExtractor.getRandomFacetField()); query.setFacetMinCount(facetMinCount); query.setFacetLimit(facetLimit); if(facetMethod != null && !"".equals(facetMethod)) { query.add("facet.method", facetMethod); } }
/** * Map field facet. * * @param fieldFacet the field facet * @param solrQuery the solr query * @param schema the schema */ static void mapFieldFacet(final FieldFacet fieldFacet, final SolrQuery solrQuery, final FulltextIndexSchema schema) { final String fieldName = getFacetFieldName(fieldFacet.getFieldName(), schema); solrQuery.addFacetField(fieldName); if (fieldFacet.getParameters() != null) { mapFacetParameters(fieldFacet.getParameters(), solrQuery, fieldName); } }
@Override public List<String> createTypeNames(HttpSolrClient solrServer) throws Exception { List<String> names = new ArrayList<>(); SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.addFacetField(field); query.setFacet(true); query.setFacetMinCount(1); query.setFacetSort(FacetParams.FACET_SORT_INDEX); query.setRows(0); query.setParam("omitHeader", true); QueryResponse rsp = solrServer.query(query); if (LOGGER.isLoggable(Level.FINE)) { LOGGER.log(Level.FINE, "SOLR query done: " + query.toString()); } List<Count> uniqueFacetFields = rsp.getFacetFields().get(0).getValues(); for (Count field : uniqueFacetFields) { names.add(field.getName()); } return names; }
public Multimap<String,InteractorIdCount> searchInteractors(SolrQuery originalQuery, String[] interactorTypeMis) throws IntactSolrException { SolrQuery query = originalQuery.getCopy(); query.setRows(0); query.setFacet(true); query.setFacetMinCount(1); query.setFacetLimit(Integer.MAX_VALUE); query.setFacetSort(FacetParams.FACET_SORT_COUNT); Multimap<String,InteractorIdCount> interactors = HashMultimap.create(); Map<String,String> fieldNameToTypeMap = new HashMap<String,String>(interactorTypeMis.length); for (String mi : interactorTypeMis) { final String fieldName = createFieldName(mi); query.addFacetField(fieldName); fieldNameToTypeMap.put(fieldName, mi); } QueryResponse queryResponse = executeQuery(query); for (Map.Entry<String,String> entry : fieldNameToTypeMap.entrySet()) { FacetField ff = queryResponse.getFacetField(entry.getKey()); if (ff != null && ff.getValues() != null) { for (FacetField.Count c : ff.getValues()) { interactors.put(entry.getValue(), new InteractorIdCount(c.getName(), c.getCount())); } } } return interactors; }
solrQuery.addFacetField(facetName);
SolrQuery query = new SolrQuery(); query.setQuery(queryString); query.setFacet(true); query.set("wt", "json"); query.set("indent",true); query.setRows(0); query.addFacetField("outcome_type"); QueryResponse resp = server.query(query);
public static void main() { String url = "http://localhost:8983/solr/autocomplete"; SolrServer solrServer = new HttpSolrServer(url); SolrQuery query = new SolrQuery(); query.set("q", "*"); query.addFilterQuery("name:*"); query.setFacet(true); query.addFacetField("name"); System.out.println(query); QueryResponse queryResponse = solrServer.query(query); List<FacetField> facetFields = queryResponse.getFacetFields(); FacetField cnameMainFacetField = queryResponse.getFacetField("name"); for (Count cnameAndCount : cnameMainFacetField.getValues()) { String cnameMain = cnameAndCount.getName(); System.out.println(cnameMain); System.out.println(cnameAndCount.getCount()); }
public SolrQuery buildQueryFacetByField(Query<?> query, String field) { SolrQuery solrQuery = buildQuery(query); Query.MappedKey mappedKey = mapFullyDenormalizedKey(query, field); String solrField = specialFields.get(mappedKey); if (solrField == null) { String internalType = mappedKey.getInternalType(); if (internalType != null) { solrField = getSolrField(internalType).searchPrefix + mappedKey.getIndexKey(null); } } if (solrField == null) { throw new UnsupportedIndexException(this, field); } solrQuery.setFacet(true); solrQuery.addFacetField(solrField); return addComment(solrQuery, query); }
solrQuery.addFacetField(facetName);
/** * Retrieves all the metadata fields which are indexed in the authority control * * @return a list of metadata fields * @throws Exception if error */ @Override public List<String> getAllIndexedMetadataFields() throws Exception { SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery("*:*"); solrQuery.setFacet(true); solrQuery.addFacetField("field"); QueryResponse response = getSolr().query(solrQuery); List<String> results = new ArrayList<String>(); FacetField facetField = response.getFacetField("field"); if (facetField != null) { List<FacetField.Count> values = facetField.getValues(); if (values != null) { for (FacetField.Count facetValue : values) { if (facetValue != null && facetValue.getName() != null) { results.add(facetValue.getName()); } } } } return results; } }
/** * A query that shows how to combine SIREn query with the Solr's facet feature * on a Solr field. */ private SolrQuery getDeviceControllerFacet() throws QueryNodeException { ConciseQueryBuilder b = new ConciseQueryBuilder(); String q = b.newTwig("Connector") .with(b.newNode("xsd:long([32 TO *])").setAttribute("RatedOutputCurrent")) .toString(); final SolrQuery query = new SolrQuery(); query.setQuery(q); query.addFacetField("DeviceController.OrganisationName"); return query; }
private void appendFacetingOnFields(SolrQuery solrQuery, FacetQuery query, @Nullable Class<?> domainType) { FacetOptions facetOptions = query.getFacetOptions(); solrQuery.addFacetField(convertFieldListToStringArray(facetOptions.getFacetOnFields(), domainType)); if (facetOptions.hasFacetPrefix()) { solrQuery.setFacetPrefix(facetOptions.getFacetPrefix()); } for (FieldWithFacetParameters parametrizedField : facetOptions.getFieldsWithParameters()) { addPerFieldFacetParameters(solrQuery, parametrizedField, domainType); if (parametrizedField.getSort() != null && FacetOptions.FacetSort.INDEX.equals(parametrizedField.getSort())) { addFieldSpecificParameterToSolrQuery(solrQuery, parametrizedField, new FacetParameter(FacetParams.FACET_SORT, FacetParams.FACET_SORT_INDEX), domainType); } } }
query.setFacet(true); for (String facet : facets._facets) query.addFacetField(facet); query.setFacetLimit(facets.limit); query.setFacetMinCount(facets.mincount);
solrQuery.addFacetField(facetField);
q.setParam("nested", "{!lucene} *:*"); q.setFacet(true); q.addFacetField("double.json.rating"); QueryResponse r = getWrapper().getServer().query(q);