List of usage examples for org.apache.solr.client.solrj.request LukeRequest setNumTerms
public void setNumTerms(int count)
From source file:fr.cnes.sitools.metacatalogue.resources.opensearch.OpensearchDescriptionServiceResource.java
License:Open Source License
private String buildTemplateURL() { SolrServer server = SolRUtils.getSolRServer(solrCoreUrl); if (server == null) { throw new ResourceException(Status.SERVER_ERROR_INTERNAL, "Solr core : " + solrCoreUrl + " not reachable"); }//from w w w .j av a2 s .c o m LukeRequest request = new LukeRequest(); request.setNumTerms(maxTopTerms); try { String description = "/search?q={searchTerms}&format=json"; description += addQueryParameter(OpenSearchQuery.START_PAGE, false); description += addQueryParameter(OpenSearchQuery.START_INDEX, false); description += addQueryParameter(OpenSearchQuery.COUNT, false); description += addQueryParameter(OpenSearchQuery.GEO_BOX, false); description += addQueryParameter(OpenSearchQuery.LANGUAGE, false); description += addQueryParameter(OpenSearchQuery.TIME_START, false); description += addQueryParameter(OpenSearchQuery.TIME_END, false); description += addQueryParameter(OpenSearchQuery.MODIFIED, false); LukeResponse response = request.process(server); Map<String, LukeResponse.FieldInfo> fields = response.getFieldInfo(); for (Entry<String, LukeResponse.FieldInfo> field : fields.entrySet()) { LukeResponse.FieldInfo fieldInfo = field.getValue(); String fieldName = fieldInfo.getName(); boolean indexed = false; EnumSet<FieldFlag> flags = FieldInfo.parseFlags(fieldInfo.getSchema()); if (flags != null && flags.contains(FieldFlag.INDEXED)) { indexed = true; } if (indexed && addToDescription(fieldName)) { description += "&" + fieldName + "={ptsc:" + fieldName + "?}"; } } return description; } catch (SolrServerException e) { throw new ResourceException(Status.SERVER_ERROR_INTERNAL, e.getMessage(), e); } catch (IOException e) { throw new ResourceException(Status.SERVER_ERROR_INTERNAL, e.getMessage(), e); } }
From source file:net.hydromatic.optiq.impl.solr.SolrTable.java
License:Apache License
/** Deduces the names and types of a table's columns by reading the first line * of a CSV file. *//* w w w .j a v a 2 s. c o m*/ static RelDataType deduceRowType(JavaTypeFactory typeFactory, SolrServer srv, List<SolrFieldType> fieldTypes) { final List<RelDataType> types = new ArrayList<RelDataType>(); names = new ArrayList<String>(); LukeRequest lukeRequest = new LukeRequest(); lukeRequest.setNumTerms(1); LukeResponse lukeResponse = null; try { lukeResponse = lukeRequest.process(srv); } catch (SolrServerException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } catch (IOException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } List<LukeResponse.FieldInfo> sorted = new ArrayList<LukeResponse.FieldInfo>( lukeResponse.getFieldInfo().values()); for (LukeResponse.FieldInfo infoEntry : sorted) { SolrFieldType fieldType = SolrFieldType.of(infoEntry.getType().toUpperCase()); String name = infoEntry.getName(); final RelDataType type; if (fieldType == null) { type = typeFactory.createJavaType(String.class); } else { type = fieldType.toType(typeFactory); } names.add(name); types.add(type); fieldTypes.add(fieldType); } if (names.isEmpty()) { names.add("line"); types.add(typeFactory.createJavaType(String.class)); } return typeFactory.createStructType(Pair.zip(names, types)); }
From source file:net.yacy.cora.federate.solr.connector.SolrServerConnector.java
License:Open Source License
private LukeResponse getIndexBrowser(final boolean showSchema) throws SolrServerException { // get all fields contained in index final LukeRequest lukeRequest = new LukeRequest(); lukeRequest.setResponseParser(new XMLResponseParser()); lukeRequest.setNumTerms(0); lukeRequest.setShowSchema(showSchema); LukeResponse lukeResponse = null;/*w w w.ja v a 2s. c o m*/ try { lukeResponse = lukeRequest.process(this.server); } catch (IOException e) { throw new SolrServerException(e.getMessage()); } return lukeResponse; }
From source file:uk.co.flax.biosolr.ontology.search.solr.SolrSearchEngine.java
License:Apache License
@Override @SuppressWarnings("unchecked") public List<String> getDynamicFieldNames() throws SearchEngineException { List<String> fields = new ArrayList<>(); LukeRequest request = new LukeRequest(); request.setNumTerms(0); request.setShowSchema(false);/*from ww w. j a v a 2 s . c o m*/ try { LukeResponse response = request.process(getServer()); NamedList<Object> flds = (NamedList<Object>) response.getResponse().get("fields"); if (flds != null) { for (Map.Entry<String, Object> field : flds) { String name = field.getKey(); for (Entry<String, Object> prop : (NamedList<Object>) field.getValue()) { if ("dynamicBase".equals(prop.getKey())) { fields.add(name); break; } } } } } catch (SolrServerException | IOException e) { throw new SearchEngineException(e); } return fields; }