List of usage examples for org.apache.solr.common.util NamedList toString
@Override
public String toString()
From source file:com.sindicetech.siren.solr.facet.SirenFacetProcessorFactory.java
License:Open Source License
/** * /*w w w .j a va 2 s . c om*/ * Taken from {@link AddSchemaFieldsUpdateProcessorFactory}'s parseTypeMappings(). * * @param args * @return */ @SuppressWarnings("rawtypes") private List<TypeMapping> parseTypeMappings(NamedList args) { List<TypeMapping> typeMappings = new ArrayList<TypeMapping>(); List typeMappingsParams = args.getAll(TYPE_MAPPING_PARAM); for (Object typeMappingObj : typeMappingsParams) { if (null == typeMappingObj) { throw new SolrException(SERVER_ERROR, "'" + TYPE_MAPPING_PARAM + "' init param cannot be null"); } if (!(typeMappingObj instanceof NamedList)) { throw new SolrException(SERVER_ERROR, "'" + TYPE_MAPPING_PARAM + "' init param must be a <lst>"); } NamedList typeMappingNamedList = (NamedList) typeMappingObj; Object fieldTypeObj = typeMappingNamedList.remove(FIELD_TYPE_PARAM); if (null == fieldTypeObj) { throw new SolrException(SERVER_ERROR, "Each '" + TYPE_MAPPING_PARAM + "' <lst/> must contain a '" + FIELD_TYPE_PARAM + "' <str>"); } if (!(fieldTypeObj instanceof CharSequence)) { throw new SolrException(SERVER_ERROR, "'" + FIELD_TYPE_PARAM + "' init param must be a <str>"); } if (null != typeMappingNamedList.get(FIELD_TYPE_PARAM)) { throw new SolrException(SERVER_ERROR, "Each '" + TYPE_MAPPING_PARAM + "' <lst/> may contain only one '" + FIELD_TYPE_PARAM + "' <str>"); } String fieldType = fieldTypeObj.toString(); Object maxFieldSizeObj = typeMappingNamedList.remove(MAX_FIELD_SIZE_PARAM); if (maxFieldSizeObj != null) { if (!(maxFieldSizeObj instanceof Integer)) { throw new SolrException(SERVER_ERROR, "'" + FIELD_TYPE_PARAM + "' init param must be an <int>"); } } Collection<String> valueClasses = typeMappingNamedList.removeConfigArgs(VALUE_CLASS_PARAM); if (valueClasses.isEmpty()) { throw new SolrException(SERVER_ERROR, "Each '" + TYPE_MAPPING_PARAM + "' <lst/> must contain at least one '" + VALUE_CLASS_PARAM + "' <str>"); } typeMappings.add(new TypeMapping(fieldType, (Integer) maxFieldSizeObj, valueClasses)); if (0 != typeMappingNamedList.size()) { throw new SolrException(SERVER_ERROR, "Unexpected '" + TYPE_MAPPING_PARAM + "' init sub-param(s): '" + typeMappingNamedList.toString() + "'"); } args.remove(TYPE_MAPPING_PARAM); } checkMappingExists(typeMappings, FacetDatatype.BOOLEAN.xsdDatatype); checkMappingExists(typeMappings, FacetDatatype.DOUBLE.xsdDatatype); checkMappingExists(typeMappings, FacetDatatype.LONG.xsdDatatype); checkMappingExists(typeMappings, FacetDatatype.STRING.xsdDatatype); return typeMappings; }
From source file:com.sindicetech.siren.solr.handler.SirenUpdateRequestHandler.java
License:Open Source License
private List<FieldMapper> parseMappings(NamedList args, String paramName) { List<FieldMapper> mappers = new ArrayList<>(); List params = args.getAll(paramName); if (!params.isEmpty()) { for (Object mapping : params) { NamedList mappingNamedList = this.validateParameter(paramName, mapping); String fieldType = this.parseFieldTypeParameter(mappingNamedList); String path = this.parseStringParameter(mappingNamedList, PATH_PARAM); String type = this.parseStringParameter(mappingNamedList, TYPE_PARAM); if ((path == null && type == null) || (path != null && type != null)) { throw new SolrException(SERVER_ERROR, "Each mapping must contain either a '" + PATH_PARAM + "' or a '" + TYPE_PARAM + "' sub-parameter"); }/* w ww .java2 s . c o m*/ if (mappingNamedList.size() != 0) { throw new SolrException(SERVER_ERROR, "Unexpected '" + paramName + "' sub-parameter(s): '" + mappingNamedList.toString() + "'"); } if (path == null) { mappers.add(new TypeFieldMapper(type, fieldType)); } else { mappers.add(new PathFieldMapper(path, fieldType)); } } args.remove(paramName); } return mappers; }
From source file:jp.co.atware.solr.geta.GETAssocComponent.java
License:Apache License
/** * GETAssoc?????<code>NamedList</code>??????? * /*from ww w .jav a2 s .co m*/ * @param inputStream GETAssoc?? * @return <code>NamedList</code>? * @throws FactoryConfigurationError * @throws IOException */ protected NamedList<Object> convertResult(InputStream inputStream) throws FactoryConfigurationError, IOException { NamedList<Object> result = new NamedList<Object>(); LinkedList<NamedList<Object>> stack = new LinkedList<NamedList<Object>>(); stack.push(result); try { XMLStreamReader xml = XMLInputFactory.newInstance().createXMLStreamReader(inputStream); while (xml.hasNext()) { switch (xml.getEventType()) { case XMLStreamConstants.START_ELEMENT: NamedList<Object> element = new NamedList<Object>(); stack.peek().add(xml.getName().toString(), element); stack.push(element); for (int i = 0; i < xml.getAttributeCount(); i++) { String name = xml.getAttributeName(i).toString(); String value = xml.getAttributeValue(i); ValueOf valueOf = valueTransMap.get(name); if (valueOf != null) { try { element.add(name, valueOf.toValue(value)); } catch (NumberFormatException e) { element.add(name, value); } } else { element.add(name, value); } } break; case XMLStreamConstants.END_ELEMENT: stack.pop(); break; default: break; } xml.next(); } xml.close(); } catch (XMLStreamException e) { throw new IOException(e); } LOG.debug(result.toString()); return result; }
From source file:org.qi4j.index.solr.internal.SolrEntityQueryMixin.java
License:Open Source License
@Override public Iterable<EntityReference> findEntities(Class<?> resultType, @Optional Specification<Composite> whereClause, @Optional OrderBy[] orderBySegments, @Optional Integer firstResult, @Optional Integer maxResults, Map<String, Object> variables) throws EntityFinderException { try {/* www . j ava 2 s . c o m*/ QuerySpecification expr = (QuerySpecification) whereClause; SolrServer server = solr.getSolrServer(); NamedList<Object> list = new NamedList<Object>(); list.add("q", expr.getQuery()); list.add("rows", maxResults != 0 ? maxResults : 10000); list.add("start", firstResult); if (orderBySegments != null && orderBySegments.length > 0) { for (OrderBy orderBySegment : orderBySegments) { String propName = ((Member) orderBySegment.getPropertyFunction().getAccessor()).getName() + "_for_sort"; String order = orderBySegment.order() == OrderBy.Order.ASCENDING ? "asc" : "desc"; list.add("sort", propName + " " + order); } } SolrParams solrParams = SolrParams.toSolrParams(list); logger.debug("Search:" + list.toString()); QueryResponse query = server.query(solrParams); SolrDocumentList results = query.getResults(); List<EntityReference> references = new ArrayList<EntityReference>(results.size()); for (SolrDocument result : results) { references.add(EntityReference.parseEntityReference(result.getFirstValue("id").toString())); } return references; } catch (SolrServerException e) { throw new EntityFinderException(e); } }
From source file:peltomaa.sukija.QueryResponsePrinter.java
License:Open Source License
public static final void print(PrintStream out, QueryResponse response) { NamedList<Object> nl = response.getHeader(); out.println(nl.toString()); TermsResponse tr = response.getTermsResponse(); Map<String, List<TermsResponse.Term>> tmap = tr.getTermMap(); Iterator<Map.Entry<String, List<TermsResponse.Term>>> i = tmap.entrySet().iterator(); while (i.hasNext()) { Map.Entry<String, List<TermsResponse.Term>> e = i.next(); out.println(e.getKey());//from w w w .j av a2 s. c om for (TermsResponse.Term m : e.getValue()) { out.println(m.getTerm() + " " + m.getFrequency()); } } out.println("========================="); List<TermsResponse.Term> tterms = tr.getTerms("text"); for (TermsResponse.Term t : tr.getTerms("text")) { // out.println (t.getTerm()); } }
From source file:se.streamsource.streamflow.web.infrastructure.index.SolrEntityQueryMixin.java
License:Apache License
public Iterable<EntityReference> findEntities(NamedQueryDescriptor queryDescriptor, String resultType, @Optional Map<String, Object> variables, @Optional OrderBy[] orderBySegments, @Optional Integer firstResult, @Optional Integer maxResults) throws EntityFinderException { try {//from ww w. j a va 2 s . co m SolrServer server = solr.getSolrServer("sf-core"); NamedList list = new NamedList(); String queryString = queryDescriptor.compose(variables, orderBySegments, firstResult, maxResults); list.add("q", queryString); list.add("rows", maxResults != 0 ? maxResults : 10000); list.add("start", firstResult); if (orderBySegments != null && orderBySegments.length > 0) { for (OrderBy orderBySegment : orderBySegments) { String propName = orderBySegment.propertyReference().propertyName() + "_for_sort"; String order = orderBySegment.order() == OrderBy.Order.ASCENDING ? "asc" : "desc"; list.add("sort", propName + " " + order); } } SolrParams solrParams = SolrParams.toSolrParams(list); logger.debug("Search:" + list.toString()); QueryResponse query = server.query(solrParams); SolrDocumentList results = query.getResults(); List<EntityReference> references = new ArrayList<EntityReference>(results.size()); for (SolrDocument result : results) { references.add(EntityReference.parseEntityReference(result.getFirstValue("id").toString())); } return references; } catch (SolrServerException e) { throw new EntityFinderException(e); } }