/** * returns a map of simple objects suitable for putting in a SolrQueryResponse header * @see #formatForResponseHeader * @see #parseMap */ public SimpleOrderedMap<String> getSimpleMap() { SimpleOrderedMap<String> entry = new SimpleOrderedMap<String>(); entry.add("type", type.toString()); entry.add(ID, id); entry.add("message", message); return entry; }
/** * Convert this object to a SimpleOrderedMap, making it easier to serialize. * @return the equivalent SimpleOrderedMap for this object. */ public SimpleOrderedMap<Object> toMap() { SimpleOrderedMap<Object> map = new SimpleOrderedMap<>(); if (label != null) { map.add(LABEL_KEY, label); } map.add(VALUE_KEY, value); map.add(COUNT_KEY, count); map.add(TOTAL_KEY, getTotal()); if (hierarchy != null && hierarchy.size() > 0) { // Recurse through the child nodes, converting each to a map List<NamedList<Object>> hierarchyList = hierarchy.stream().map(TreeFacetField::toMap).collect(Collectors.toList()); map.add(HIERARCHY_KEY, hierarchyList); } return map; }
private SimpleOrderedMap buildParsedDebugInfo(RecursiveDescentParser parser, String parsedQuery) { SimpleOrderedMap responseInfo = new SimpleOrderedMap(); responseInfo.add("parsedQuery", parsedQuery); responseInfo.add("hasErrors", parser.hasErrors()); if(parser.hasErrors()){ StringBuilder errorList = new StringBuilder(); for(int error : parser.getErrors()){ errorList.append(error).append(","); } final String sListErrors = errorList.toString(); responseInfo.add("errorCodes", sListErrors.substring(0, sListErrors.length()-1)); } return responseInfo; }
/** Convert this to a NamedList */ public NamedList<Object> toNamedList() { final SimpleOrderedMap<Object> result = new SimpleOrderedMap<>(); for(Iterator<String> it=getParameterNamesIterator(); it.hasNext(); ) { final String name = it.next(); final String [] values = getParams(name); if(values.length==1) { result.add(name,values[0]); } else { // currently no reason not to use the same array result.add(name,values); } } return result; }
/** * Get system info */ private static SimpleOrderedMap<Object> getCoreInfo( SolrCore core ) throws Exception { SimpleOrderedMap<Object> info = new SimpleOrderedMap<Object>(); IndexSchema schema = core.getSchema(); info.add( "schema", schema != null ? schema.getSchemaName():"no schema!" ); // Host InetAddress addr = InetAddress.getLocalHost(); info.add( "host", addr.getCanonicalHostName() ); // Now info.add( "now", new Date() ); // Start Time info.add( "start", new Date(core.getStartTime()) ); // Solr Home SimpleOrderedMap<Object> dirs = new SimpleOrderedMap<Object>(); dirs.add( "instance", new File( core.getResourceLoader().getInstanceDir() ).getAbsolutePath() ); dirs.add( "data", new File( core.getDataDir() ).getAbsolutePath() ); dirs.add( "index", new File( core.getIndexDir() ).getAbsolutePath() ); info.add( "directory", dirs ); return info; }
/** Convert this to a NamedList */ public NamedList<Object> toNamedList() { final SimpleOrderedMap<Object> result = new SimpleOrderedMap<Object>(); for(Iterator<String> it=getParameterNamesIterator(); it.hasNext(); ) { final String name = it.next(); final String [] values = getParams(name); if(values.length==1) { result.add(name,values[0]); } else { // currently no reason not to use the same array result.add(name,values); } } return result; } }
/** * Convert this to a NamedList of unique keys with either String or String[] values depending on * how many values there are for the parameter. */ public NamedList<Object> toNamedList() { final SimpleOrderedMap<Object> result = new SimpleOrderedMap<>(); for(Iterator<String> it=getParameterNamesIterator(); it.hasNext(); ) { final String name = it.next(); final String [] values = getParams(name); if(values.length==1) { result.add(name,values[0]); } else { // currently no reason not to use the same array result.add(name,values); } } return result; }
private static SimpleOrderedMap<Object> getAnalyzerInfo(Analyzer analyzer) { SimpleOrderedMap<Object> aninfo = new SimpleOrderedMap<Object>(); aninfo.add("className", analyzer.getClass().getName()); if (analyzer instanceof TokenizerChain) { SimpleOrderedMap<Object> tokenizer = new SimpleOrderedMap<Object>(); TokenizerChain tchain = (TokenizerChain)analyzer; TokenizerFactory tfac = tchain.getTokenizerFactory(); tokenizer.add("className", tfac.getClass().getName()); tokenizer.add("args", tfac.getArgs()); aninfo.add("tokenizer", tokenizer); TokenFilterFactory[] filtfacs = tchain.getTokenFilterFactories(); SimpleOrderedMap<Map<String, Object>> filters = new SimpleOrderedMap<Map<String, Object>>(); for (TokenFilterFactory filtfac : filtfacs) { Map<String, Object> tok = new HashMap<String, Object>(); String className = filtfac.getClass().getName(); tok.put("className", className); tok.put("args", filtfac.getArgs()); filters.add(className.substring(className.lastIndexOf('.')+1), tok); } if (filters.size() > 0) { aninfo.add("filters", filters); } } return aninfo; }
/** Create new subtimer with given name * * Subtimer will be started. */ public RTimer sub(String desc) { RTimer child = children.get( desc ); if( child == null ) { child = new RTimer(); children.add(desc, child); } return child; }
public static SimpleOrderedMap<Object> getIndexInfo( IndexReader reader, boolean countTerms ) throws IOException { Directory dir = reader.directory(); SimpleOrderedMap<Object> indexInfo = new SimpleOrderedMap<Object>(); indexInfo.add("numDocs", reader.numDocs()); indexInfo.add("maxDoc", reader.maxDoc()); if( countTerms ) { TermEnum te = null; try{ te = reader.terms(); int numTerms = 0; while (te.next()) { numTerms++; } indexInfo.add("numTerms", numTerms ); } finally{ if( te != null ) te.close(); } } indexInfo.add("version", reader.getVersion()); // TODO? Is this different then: IndexReader.getCurrentVersion( dir )? indexInfo.add("optimized", reader.isOptimized() ); indexInfo.add("current", reader.isCurrent() ); indexInfo.add("hasDeletions", reader.hasDeletions() ); indexInfo.add("directory", dir ); indexInfo.add("lastModified", new Date(IndexReader.lastModified(dir)) ); return indexInfo; }
/** * @return a key to what each character means */ public static SimpleOrderedMap<String> getFieldFlagsKey() { SimpleOrderedMap<String> key = new SimpleOrderedMap<String>(); key.add(String.valueOf(FieldFlag.INDEXED.getAbbreviation()), FieldFlag.INDEXED.getDisplay() ); key.add(String.valueOf(FieldFlag.TOKENIZED.getAbbreviation()), FieldFlag.TOKENIZED.getDisplay() ); key.add( String.valueOf(FieldFlag.STORED.getAbbreviation()), FieldFlag.STORED.getDisplay() ); key.add( String.valueOf(FieldFlag.MULTI_VALUED.getAbbreviation()), FieldFlag.MULTI_VALUED.getDisplay() ); key.add( String.valueOf(FieldFlag.TERM_VECTOR_STORED.getAbbreviation()), FieldFlag.TERM_VECTOR_STORED.getDisplay() ); key.add( String.valueOf(FieldFlag.TERM_VECTOR_OFFSET.getAbbreviation()), FieldFlag.TERM_VECTOR_OFFSET.getDisplay() ); key.add( String.valueOf(FieldFlag.TERM_VECTOR_POSITION.getAbbreviation()), FieldFlag.TERM_VECTOR_POSITION.getDisplay() ); key.add( String.valueOf(FieldFlag.OMIT_NORMS.getAbbreviation()), FieldFlag.OMIT_NORMS.getDisplay() ); key.add( String.valueOf(FieldFlag.LAZY.getAbbreviation()), FieldFlag.LAZY.getDisplay() ); key.add( String.valueOf(FieldFlag.BINARY.getAbbreviation()), FieldFlag.BINARY.getDisplay() ); key.add( String.valueOf(FieldFlag.COMPRESSED.getAbbreviation()), FieldFlag.COMPRESSED.getDisplay() ); key.add( String.valueOf(FieldFlag.SORT_MISSING_FIRST.getAbbreviation()), FieldFlag.SORT_MISSING_FIRST.getDisplay() ); key.add( String.valueOf(FieldFlag.SORT_MISSING_LAST.getAbbreviation()), FieldFlag.SORT_MISSING_LAST.getDisplay() ); return key; }
for( FieldType ft : schema.getFieldTypes().values() ) { SimpleOrderedMap<Object> field = new SimpleOrderedMap<Object>(); field.add("fields", typeusemap.get( ft.getTypeName() ) ); field.add("tokenized", ft.isTokenized() ); field.add("className", ft.getClass().getName()); field.add("indexAnalyzer", getAnalyzerInfo(ft.getAnalyzer())); field.add("queryAnalyzer", getAnalyzerInfo(ft.getQueryAnalyzer())); types.add( ft.getTypeName(), field ); finfo.add("fields", fields); finfo.add("dynamicFields", dynamicFields); finfo.add("uniqueKeyField", null == uniqueField ? null : uniqueField.getName()); finfo.add("defaultSearchField", schema.getDefaultSearchFieldName()); finfo.add("types", types); return finfo;
nl.add( "current",tmbean.getThreadCount() ); nl.add( "peak", tmbean.getPeakThreadCount() ); nl.add( "daemon", tmbean.getDaemonThreadCount() ); system.add( "threadCount", nl ); lst.add( "thread", getThreadInfo( ti, tmbean ) ); system.add( "deadlocks", lst ); lst.add( "thread", getThreadInfo( ti, tmbean ) ); system.add( "threadDump", lst ); rsp.setHttpCaching(false);
list.add( cat.name(), category ); Map<String, SolrInfoMBean> reg = core.getInfoRegistry(); for (Map.Entry<String,SolrInfoMBean> entry : reg.entrySet()) { category.add( entry.getKey(), info ); info.add( "name", (m.getName() !=null ? m.getName() : na) ); info.add( "version", (m.getVersion() !=null ? m.getVersion() : na) ); info.add( "description", (m.getDescription()!=null ? m.getDescription() : na) ); info.add( "sourceId", (m.getSourceId() !=null ? m.getSourceId() : na) ); info.add( "source", (m.getSource() !=null ? m.getSource() : na) ); docs.add( u.toExternalForm() ); info.add( "docs", docs ); info.add( "stats", m.getStatistics() );
info.add( "name", os.getName() ); info.add( "version", os.getVersion() ); info.add( "arch", os.getArch() ); if( !os.getName().toLowerCase().startsWith( "windows" ) ) { info.add( "uname", execute( "uname -a" ) ); info.add( "ulimit", execute( "ulimit -n" ) ); info.add( "uptime", execute( "uptime" ) );
FieldType ft = f.getType(); SimpleOrderedMap<Object> field = new SimpleOrderedMap<Object>(); field.add( "type", ft.getTypeName() ); field.add( "flags", getFieldFlags(f) ); if( f.isRequired() ) { field.add( "required", f.isRequired() ); field.add( "default", f.getDefaultValue() ); field.add("uniqueKey", true); field.add("positionIncrementGap", ft.getAnalyzer().getPositionIncrementGap(f.getName())); field.add("copyDests", schema.getCopyFields(f.getName())); field.add("copySources", schema.getCopySources(f.getName())); fields.add( f.getName(), field );
FieldType ftype = (sfield==null)?null:sfield.getType(); f.add( "type", (ftype==null)?null:ftype.getTypeName() ); f.add( "schema", getFieldFlags( sfield ) ); f.add( "flags", getFieldFlags( fieldable ) ); f.add( "value", (ftype==null)?null:ftype.toExternal( fieldable ) ); f.add( "internal", fieldable.stringValue() ); // may be a binary number f.add( "boost", fieldable.getBoost() ); f.add( "docFreq", reader.docFreq( t ) ); // this can be 0 for non-indexed fields SimpleOrderedMap<Integer> tfv = new SimpleOrderedMap<Integer>(); for( int i=0; i<v.size(); i++ ) { tfv.add( v.getTerms()[i], v.getTermFrequencies()[i] ); f.add( "termVector", tfv ); finfo.add( fieldable.name(), f );
public SimpleOrderedMap<Object> readOrderedMap(DataInputInputStream dis) throws IOException { int sz = readSize(dis); SimpleOrderedMap<Object> nl = new SimpleOrderedMap<>(sz); for (int i = 0; i < sz; i++) { String name = (String) readVal(dis); Object val = readVal(dis); nl.add(name, val); } return nl; }
public SimpleOrderedMap<Object> readOrderedMap(DataInputInputStream dis) throws IOException { int sz = readSize(dis); SimpleOrderedMap<Object> nl = new SimpleOrderedMap<>(); for (int i = 0; i < sz; i++) { String name = (String) readVal(dis); Object val = readVal(dis); nl.add(name, val); } return nl; }
public SimpleOrderedMap readOrderedMap(FastInputStream dis) throws IOException { int sz = readSize(dis); SimpleOrderedMap nl = new SimpleOrderedMap(); for (int i = 0; i < sz; i++) { String name = (String)readVal(dis); Object val = readVal(dis); nl.add(name, val); } return nl; }