@Override public IndexSchema getSchema() { return request.getSchema(); }
@Override public IndexSchema getSchema() { return request.getSchema(); }
@Override public Analyzer getQueryAnalyzer() { return request.getSchema().getQueryAnalyzer(); }
/** * <p>Get the list of {@link PhraseBoosting.PhraseBoostFieldParams} to boost entire phrases or query-term n-grams.</p> * @see #getPhraseBoostTiebreaker() * * @return The list of PhraseBoostFieldParams for boosting or an empty list if no (sub)phrase should be boosted. */ public List<PhraseBoostFieldParams> getPhraseBoostFieldParams() { final IndexSchema schema = request.getSchema(); return allPhraseFields.stream() .filter(field -> isFieldPhraseQueryable(schema.getFieldOrNull(field.getField()))) .map(DismaxSearchEngineRequestAdapter::fieldParams2phraseBoostFieldParams) .collect(Collectors.toList()); }
@Override public void processAdd(AddUpdateCommand cmd) throws IOException { if (next != null) next.processAdd(cmd); // Add a list of added id's to the response if (adds == null) { adds = new ArrayList<String>(); toLog.add("add",adds); } if (adds.size() < maxNumToLog) { adds.add(cmd.getPrintableId(req.getSchema())); } numAdds++; }
/** * {@inheritDoc} */ protected NamedList doAnalysis(SolrQueryRequest req) throws Exception { DocumentAnalysisRequest analysisRequest = resolveAnalysisRequest(req); return handleAnalysisRequest(analysisRequest, req.getSchema()); }
public MultiTextFieldLanguageIdentifierUpdateProcessor(SolrQueryRequest req, SolrQueryResponse rsp, UpdateRequestProcessor next) { super(req, rsp, next); indexSchema = req.getSchema(); initParams(req.getParams()); }
public TextResponseWriter(Writer writer, SolrQueryRequest req, SolrQueryResponse rsp) { this.writer = FastWriter.wrap(writer); this.schema = req.getSchema(); this.req = req; this.rsp = rsp; String indent = req.getParams().get("indent"); if (indent != null && !"".equals(indent) && !"off".equals(indent)) { doIndent=true; } returnFields = rsp.getReturnFields(); }
@Override public SortSpec getSort(boolean useGlobal) throws ParseException { SortSpec sort = super.getSort(useGlobal); if (sortStr != null && sortStr.length()>0 && sort.getSort()==null) { Sort oldSort = QueryParsing.parseSort(sortStr, getReq().getSchema()); if( oldSort != null ) { sort.sort = oldSort; } } return sort; }
@Override public Query parse() throws ParseException { if (qstr == null || qstr.length()==0) return null; final SolrParams solrParams = SolrParams.wrapDefaults(localParams, params); final Map<String, Float> boosts = parseQueryFields(req.getSchema(), solrParams); final BooleanQuery main = this.getMainQuery(boosts, qstr); this.addNestedQuery(main, solrParams); return main; }
private boolean fieldHasIndexedStopFilter(String field, SolrQueryRequest req) { FieldType fieldType = req.getSchema().getFieldType(field); Analyzer analyzer = fieldType.getIndexAnalyzer();//index analyzer if (analyzer instanceof TokenizerChain) { TokenizerChain tokenizerChain = (TokenizerChain) analyzer; TokenFilterFactory[] tokenFilterFactories = tokenizerChain.getTokenFilterFactories(); for (TokenFilterFactory tokenFilterFactory : tokenFilterFactories) { if (tokenFilterFactory instanceof StopFilterFactory) return true; } } return false; }
private boolean fieldHasIndexedStopFilter(String field, SolrQueryRequest req) { FieldType fieldType = req.getSchema().getFieldType(field); Analyzer analyzer = fieldType.getIndexAnalyzer();//index analyzer if (analyzer instanceof TokenizerChain) { TokenizerChain tokenizerChain = (TokenizerChain) analyzer; TokenFilterFactory[] tokenFilterFactories = tokenizerChain.getTokenFilterFactories(); for (TokenFilterFactory tokenFilterFactory : tokenFilterFactories) { if (tokenFilterFactory instanceof StopFilterFactory) return true; } } return false; }
public ValueSource getValueSource(FunctionQParser fp, String arg) { if (arg==null) return null; SchemaField f = fp.req.getSchema().getField(arg); if (f.getType().getClass() == DateField.class || f.getType().getClass() == LegacyDateField.class) { throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Can't use ms() function on non-numeric legacy date field " + arg); } return f.getType().getValueSource(f, fp); }
@Override public Query parse() throws SyntaxError { final SolrParams solrParams = SolrParams.wrapDefaults(localParams, params); final Map<String, Float> boosts = parseQueryFields(req.getSchema(), solrParams); // We disable the coord because this query is an artificial construct final BooleanQuery query = new BooleanQuery(true); // if empty main query, ignore and try to parse the nested queries if (qstr != null && !qstr.isEmpty()) { this.processMainQuery(query, boosts, qstr); } this.processNestedQuery(query, solrParams); return query; }
@Override public void processAdd(AddUpdateCommand cmd) throws IOException { cmd.doc = DocumentBuilder.toDocument(cmd.getSolrInputDocument(), req.getSchema()); updateHandler.addDoc(cmd); super.processAdd(cmd); }
public SolrQueryParser(QParser parser, String defaultField, Analyzer analyzer) { super(defaultField, analyzer); this.schema = parser.getReq().getSchema(); this.parser = parser; this.defaultField = defaultField; setLowercaseExpandedTerms(false); setEnablePositionIncrements(true); checkAllowLeadingWildcards(); }
public ValueSource parse(FunctionQParser fp) throws SyntaxError { String indexedField = fp.parseArg(); Analyzer analyzer = fp.getReq().getSchema().getIndexAnalyzer(); return new FieldLenValueSource(indexedField, analyzer); } }
public ValueSource parse(FunctionQParser fp) throws SyntaxError { String indexedField = fp.parseArg(); Analyzer analyzer = fp.getReq().getSchema().getIndexAnalyzer(); return new FieldIndexedValueSource(indexedField, analyzer); } }
@Override public QuerqyParser createParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req) { IndexSchema schema = req.getSchema(); Analyzer rewriteAnalyzer = schema.getFieldTypeByName( queryParsingFieldType).getQueryAnalyzer(); Analyzer synonymAnalyzer = (synonymsfieldType != null) ? schema.getFieldTypeByName(synonymsfieldType) .getQueryAnalyzer() : null; return new AnalyzingQuerqyParser(rewriteAnalyzer, synonymAnalyzer); }
public void addDebugInfo(NamedList<Object> debugInfo) { super.addDebugInfo(debugInfo); debugInfo.add("altquerystring", altUserQuery); if (null != boostQueries) { debugInfo.add("boost_queries", boostParams); debugInfo.add("parsed_boost_queries", QueryParsing.toString(boostQueries, req.getSchema())); } debugInfo.add("boostfuncs", req.getParams().getParams(DisMaxParams.BF)); } }