public SearchLookup lookup() { return getQueryShardContext().lookup(); }
private static SearchScript.LeafFactory createScript(Script script, QueryShardContext context) { if (script == null) { return null; } else { SearchScript.Factory factory = context.getScriptService().compile(script, SearchScript.AGGS_CONTEXT); return factory.newFactory(script.getParams(), context.lookup()); } }
private LongValuesSource createValuesSource(QueryShardContext context) { LongValuesSource longValuesSource; if (minimumShouldMatchField != null) { MappedFieldType msmFieldType = context.fieldMapper(minimumShouldMatchField); if (msmFieldType == null) { throw new QueryShardException(context, "failed to find minimum_should_match field [" + minimumShouldMatchField + "]"); } IndexNumericFieldData fieldData = context.getForField(msmFieldType); longValuesSource = new FieldValuesSource(fieldData); } else if (minimumShouldMatchScript != null) { TermsSetQueryScript.Factory factory = context.getScriptService().compile(minimumShouldMatchScript, TermsSetQueryScript.CONTEXT); Map<String, Object> params = new HashMap<>(); params.putAll(minimumShouldMatchScript.getParams()); params.put("num_terms", values.size()); longValuesSource = new ScriptLongValueSource(minimumShouldMatchScript, factory.newFactory(params, context.lookup())); } else { throw new IllegalStateException("No minimum should match has been specified"); } return longValuesSource; }
@Override protected Query doToQuery(QueryShardContext context) throws IOException { FilterScript.Factory factory = context.getScriptService().compile(script, FilterScript.CONTEXT); FilterScript.LeafFactory filterScript = factory.newFactory(script.getParams(), context.lookup()); return new ScriptQuery(script, filterScript); }
@Override protected ScoreFunction doToFunction(QueryShardContext context) { try { ScoreScript.Factory factory = context.getScriptService().compile(script, ScoreScript.CONTEXT); ScoreScript.LeafFactory searchScript = factory.newFactory(script.getParams(), context.lookup()); return new ScriptScoreFunction(script, searchScript); } catch (Exception e) { throw new QueryShardException(context, "script_score: the script could not be loaded", e); } }
params, queryShardContext.lookup(), context, parent, subfactoriesBuilder, metaData);
QueryShardContext shardContext = context.getQueryShardContext(); SearchScript.Factory factory = shardContext.getScriptService().compile(field.script(), SearchScript.CONTEXT); SearchScript.LeafFactory searchScript = factory.newFactory(field.script().getParams(), shardContext.lookup()); fields.add(new org.elasticsearch.search.fetch.subphase.ScriptFieldsContext.ScriptField( field.fieldName(), searchScript, field.ignoreFailure()));
public SearchLookup lookup() { return getQueryShardContext().lookup(); }
public SearchLookup lookup() { return getQueryShardContext().lookup(); }
public SearchLookup lookup() { return getQueryShardContext().lookup(); }
/** * Compiles (or retrieves from cache) and binds the parameters to the * provided script */ public final SearchScript getSearchScript(Script script, ScriptContext context) { failIfFrozen(); return scriptService.search(lookup(), script, context); } /**
@Override public SortFieldAndFormat build(QueryShardContext context) throws IOException { final SearchScript.Factory factory = context.getScriptService().compile(script, SearchScript.SCRIPT_SORT_CONTEXT); final SearchScript.LeafFactory searchScript = factory.newFactory(script.getParams(), context.lookup());
/** * Returns a lazily created {@link SearchScript} that is compiled immediately but can be pulled later once all * parameters are available. */ public final Function<Map<String, Object>, SearchScript> getLazySearchScript(Script script, ScriptContext context) { failIfFrozen(); CompiledScript compile = scriptService.compile(script, context); return (p) -> scriptService.search(lookup(), compile, p); }
private static SearchScript.LeafFactory createScript(Script script, QueryShardContext context) { if (script == null) { return null; } else { SearchScript.Factory factory = context.getScriptService().compile(script, SearchScript.AGGS_CONTEXT); return factory.newFactory(script.getParams(), context.lookup()); } }
private static SearchScript.LeafFactory createScript(Script script, QueryShardContext context) { if (script == null) { return null; } else { SearchScript.Factory factory = context.getScriptService().compile(script, SearchScript.AGGS_CONTEXT); return factory.newFactory(script.getParams(), context.lookup()); } }
private LongValuesSource createValuesSource(QueryShardContext context) { LongValuesSource longValuesSource; if (minimumShouldMatchField != null) { MappedFieldType msmFieldType = context.fieldMapper(minimumShouldMatchField); if (msmFieldType == null) { throw new QueryShardException(context, "failed to find minimum_should_match field [" + minimumShouldMatchField + "]"); } IndexNumericFieldData fieldData = context.getForField(msmFieldType); longValuesSource = new FieldValuesSource(fieldData); } else if (minimumShouldMatchScript != null) { TermsSetQueryScript.Factory factory = context.getScriptService().compile(minimumShouldMatchScript, TermsSetQueryScript.CONTEXT); Map<String, Object> params = new HashMap<>(); params.putAll(minimumShouldMatchScript.getParams()); params.put("num_terms", values.size()); longValuesSource = new ScriptLongValueSource(minimumShouldMatchScript, factory.newFactory(params, context.lookup())); } else { throw new IllegalStateException("No minimum should match has been specified"); } return longValuesSource; }
@Override protected Query doToQuery(QueryShardContext context) throws IOException { FilterScript.Factory factory = context.getScriptService().compile(script, FilterScript.CONTEXT); FilterScript.LeafFactory filterScript = factory.newFactory(script.getParams(), context.lookup()); return new ScriptQuery(script, filterScript); }
@Override protected Query doToQuery(QueryShardContext context) throws IOException { FilterScript.Factory factory = context.getScriptService().compile(script, FilterScript.CONTEXT); FilterScript.LeafFactory filterScript = factory.newFactory(script.getParams(), context.lookup()); return new ScriptQuery(script, filterScript); }
@Override protected ScoreFunction doToFunction(QueryShardContext context) { try { ScoreScript.Factory factory = context.getScriptService().compile(script, ScoreScript.CONTEXT); ScoreScript.LeafFactory searchScript = factory.newFactory(script.getParams(), context.lookup()); return new ScriptScoreFunction(script, searchScript); } catch (Exception e) { throw new QueryShardException(context, "script_score: the script could not be loaded", e); } }
@Override protected ScoreFunction doToFunction(QueryShardContext context) { try { ScoreScript.Factory factory = context.getScriptService().compile(script, ScoreScript.CONTEXT); ScoreScript.LeafFactory searchScript = factory.newFactory(script.getParams(), context.lookup()); return new ScriptScoreFunction(script, searchScript); } catch (Exception e) { throw new QueryShardException(context, "script_score: the script could not be loaded", e); } }