mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-17 10:25:15 +00:00
Runtime fields: rename script classes (#62448)
With this commit we rename the script classes used for each mapped field type used for runtime fields. The new naming is a shorter version of the previous one: from e.g. BooleanScriptFieldScrip to BooleanScript . We also move such classes to the existing mapper package.
This commit is contained in:
parent
f347f0207f
commit
1e352fdb7f
@ -11,7 +11,13 @@ import org.elasticsearch.plugins.MapperPlugin;
|
|||||||
import org.elasticsearch.plugins.Plugin;
|
import org.elasticsearch.plugins.Plugin;
|
||||||
import org.elasticsearch.plugins.ScriptPlugin;
|
import org.elasticsearch.plugins.ScriptPlugin;
|
||||||
import org.elasticsearch.script.ScriptContext;
|
import org.elasticsearch.script.ScriptContext;
|
||||||
|
import org.elasticsearch.xpack.runtimefields.mapper.BooleanFieldScript;
|
||||||
|
import org.elasticsearch.xpack.runtimefields.mapper.DateFieldScript;
|
||||||
|
import org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript;
|
||||||
|
import org.elasticsearch.xpack.runtimefields.mapper.IpFieldScript;
|
||||||
|
import org.elasticsearch.xpack.runtimefields.mapper.LongFieldScript;
|
||||||
import org.elasticsearch.xpack.runtimefields.mapper.RuntimeFieldMapper;
|
import org.elasticsearch.xpack.runtimefields.mapper.RuntimeFieldMapper;
|
||||||
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -27,12 +33,12 @@ public final class RuntimeFields extends Plugin implements MapperPlugin, ScriptP
|
|||||||
@Override
|
@Override
|
||||||
public List<ScriptContext<?>> getContexts() {
|
public List<ScriptContext<?>> getContexts() {
|
||||||
return org.elasticsearch.common.collect.List.of(
|
return org.elasticsearch.common.collect.List.of(
|
||||||
BooleanScriptFieldScript.CONTEXT,
|
BooleanFieldScript.CONTEXT,
|
||||||
DateScriptFieldScript.CONTEXT,
|
DateFieldScript.CONTEXT,
|
||||||
DoubleScriptFieldScript.CONTEXT,
|
DoubleFieldScript.CONTEXT,
|
||||||
IpScriptFieldScript.CONTEXT,
|
IpFieldScript.CONTEXT,
|
||||||
LongScriptFieldScript.CONTEXT,
|
LongFieldScript.CONTEXT,
|
||||||
StringScriptFieldScript.CONTEXT
|
StringFieldScript.CONTEXT
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,15 +7,15 @@
|
|||||||
package org.elasticsearch.xpack.runtimefields.fielddata;
|
package org.elasticsearch.xpack.runtimefields.fielddata;
|
||||||
|
|
||||||
import org.elasticsearch.index.fielddata.AbstractSortedNumericDocValues;
|
import org.elasticsearch.index.fielddata.AbstractSortedNumericDocValues;
|
||||||
import org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.BooleanFieldScript;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public final class ScriptBooleanDocValues extends AbstractSortedNumericDocValues {
|
public final class ScriptBooleanDocValues extends AbstractSortedNumericDocValues {
|
||||||
private final BooleanScriptFieldScript script;
|
private final BooleanFieldScript script;
|
||||||
private int cursor;
|
private int cursor;
|
||||||
|
|
||||||
ScriptBooleanDocValues(BooleanScriptFieldScript script) {
|
ScriptBooleanDocValues(BooleanFieldScript script) {
|
||||||
this.script = script;
|
this.script = script;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ import org.elasticsearch.index.mapper.MapperService;
|
|||||||
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
||||||
import org.elasticsearch.search.aggregations.support.CoreValuesSourceType;
|
import org.elasticsearch.search.aggregations.support.CoreValuesSourceType;
|
||||||
import org.elasticsearch.search.aggregations.support.ValuesSourceType;
|
import org.elasticsearch.search.aggregations.support.ValuesSourceType;
|
||||||
import org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.BooleanFieldScript;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
@ -25,9 +25,9 @@ public final class ScriptBooleanFieldData extends IndexNumericFieldData {
|
|||||||
|
|
||||||
public static class Builder implements IndexFieldData.Builder {
|
public static class Builder implements IndexFieldData.Builder {
|
||||||
private final String name;
|
private final String name;
|
||||||
private final BooleanScriptFieldScript.LeafFactory leafFactory;
|
private final BooleanFieldScript.LeafFactory leafFactory;
|
||||||
|
|
||||||
public Builder(String name, BooleanScriptFieldScript.LeafFactory leafFactory) {
|
public Builder(String name, BooleanFieldScript.LeafFactory leafFactory) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.leafFactory = leafFactory;
|
this.leafFactory = leafFactory;
|
||||||
}
|
}
|
||||||
@ -39,9 +39,9 @@ public final class ScriptBooleanFieldData extends IndexNumericFieldData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private final String fieldName;
|
private final String fieldName;
|
||||||
private final BooleanScriptFieldScript.LeafFactory leafFactory;
|
private final BooleanFieldScript.LeafFactory leafFactory;
|
||||||
|
|
||||||
private ScriptBooleanFieldData(String fieldName, BooleanScriptFieldScript.LeafFactory leafFactory) {
|
private ScriptBooleanFieldData(String fieldName, BooleanFieldScript.LeafFactory leafFactory) {
|
||||||
this.fieldName = fieldName;
|
this.fieldName = fieldName;
|
||||||
this.leafFactory = leafFactory;
|
this.leafFactory = leafFactory;
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ import org.elasticsearch.index.mapper.MapperService;
|
|||||||
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
||||||
import org.elasticsearch.search.aggregations.support.CoreValuesSourceType;
|
import org.elasticsearch.search.aggregations.support.CoreValuesSourceType;
|
||||||
import org.elasticsearch.search.aggregations.support.ValuesSourceType;
|
import org.elasticsearch.search.aggregations.support.ValuesSourceType;
|
||||||
import org.elasticsearch.xpack.runtimefields.DateScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.DateFieldScript;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
@ -25,9 +25,9 @@ public final class ScriptDateFieldData extends IndexNumericFieldData {
|
|||||||
|
|
||||||
public static class Builder implements IndexFieldData.Builder {
|
public static class Builder implements IndexFieldData.Builder {
|
||||||
private final String name;
|
private final String name;
|
||||||
private final DateScriptFieldScript.LeafFactory leafFactory;
|
private final DateFieldScript.LeafFactory leafFactory;
|
||||||
|
|
||||||
public Builder(String name, DateScriptFieldScript.LeafFactory leafFactory) {
|
public Builder(String name, DateFieldScript.LeafFactory leafFactory) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.leafFactory = leafFactory;
|
this.leafFactory = leafFactory;
|
||||||
}
|
}
|
||||||
@ -39,9 +39,9 @@ public final class ScriptDateFieldData extends IndexNumericFieldData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private final String fieldName;
|
private final String fieldName;
|
||||||
private final DateScriptFieldScript.LeafFactory leafFactory;
|
private final DateFieldScript.LeafFactory leafFactory;
|
||||||
|
|
||||||
private ScriptDateFieldData(String fieldName, DateScriptFieldScript.LeafFactory leafFactory) {
|
private ScriptDateFieldData(String fieldName, DateFieldScript.LeafFactory leafFactory) {
|
||||||
this.fieldName = fieldName;
|
this.fieldName = fieldName;
|
||||||
this.leafFactory = leafFactory;
|
this.leafFactory = leafFactory;
|
||||||
}
|
}
|
||||||
|
@ -7,16 +7,16 @@
|
|||||||
package org.elasticsearch.xpack.runtimefields.fielddata;
|
package org.elasticsearch.xpack.runtimefields.fielddata;
|
||||||
|
|
||||||
import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
|
import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
public final class ScriptDoubleDocValues extends SortedNumericDoubleValues {
|
public final class ScriptDoubleDocValues extends SortedNumericDoubleValues {
|
||||||
private final DoubleScriptFieldScript script;
|
private final DoubleFieldScript script;
|
||||||
private int cursor;
|
private int cursor;
|
||||||
|
|
||||||
ScriptDoubleDocValues(DoubleScriptFieldScript script) {
|
ScriptDoubleDocValues(DoubleFieldScript script) {
|
||||||
this.script = script;
|
this.script = script;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ import org.elasticsearch.index.mapper.MapperService;
|
|||||||
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
||||||
import org.elasticsearch.search.aggregations.support.CoreValuesSourceType;
|
import org.elasticsearch.search.aggregations.support.CoreValuesSourceType;
|
||||||
import org.elasticsearch.search.aggregations.support.ValuesSourceType;
|
import org.elasticsearch.search.aggregations.support.ValuesSourceType;
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
@ -25,9 +25,9 @@ public final class ScriptDoubleFieldData extends IndexNumericFieldData {
|
|||||||
|
|
||||||
public static class Builder implements IndexFieldData.Builder {
|
public static class Builder implements IndexFieldData.Builder {
|
||||||
private final String name;
|
private final String name;
|
||||||
private final DoubleScriptFieldScript.LeafFactory leafFactory;
|
private final DoubleFieldScript.LeafFactory leafFactory;
|
||||||
|
|
||||||
public Builder(String name, DoubleScriptFieldScript.LeafFactory leafFactory) {
|
public Builder(String name, DoubleFieldScript.LeafFactory leafFactory) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.leafFactory = leafFactory;
|
this.leafFactory = leafFactory;
|
||||||
}
|
}
|
||||||
@ -39,9 +39,9 @@ public final class ScriptDoubleFieldData extends IndexNumericFieldData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private final String fieldName;
|
private final String fieldName;
|
||||||
DoubleScriptFieldScript.LeafFactory leafFactory;
|
DoubleFieldScript.LeafFactory leafFactory;
|
||||||
|
|
||||||
private ScriptDoubleFieldData(String fieldName, DoubleScriptFieldScript.LeafFactory leafFactory) {
|
private ScriptDoubleFieldData(String fieldName, DoubleFieldScript.LeafFactory leafFactory) {
|
||||||
this.fieldName = fieldName;
|
this.fieldName = fieldName;
|
||||||
this.leafFactory = leafFactory;
|
this.leafFactory = leafFactory;
|
||||||
}
|
}
|
||||||
|
@ -8,16 +8,16 @@ package org.elasticsearch.xpack.runtimefields.fielddata;
|
|||||||
|
|
||||||
import org.apache.lucene.util.BytesRef;
|
import org.apache.lucene.util.BytesRef;
|
||||||
import org.elasticsearch.index.fielddata.SortedBinaryDocValues;
|
import org.elasticsearch.index.fielddata.SortedBinaryDocValues;
|
||||||
import org.elasticsearch.xpack.runtimefields.IpScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.IpFieldScript;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
public final class ScriptIpDocValues extends SortedBinaryDocValues {
|
public final class ScriptIpDocValues extends SortedBinaryDocValues {
|
||||||
private final IpScriptFieldScript script;
|
private final IpFieldScript script;
|
||||||
private int cursor;
|
private int cursor;
|
||||||
|
|
||||||
ScriptIpDocValues(IpScriptFieldScript script) {
|
ScriptIpDocValues(IpFieldScript script) {
|
||||||
this.script = script;
|
this.script = script;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,16 +21,16 @@ import org.elasticsearch.index.mapper.MapperService;
|
|||||||
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
||||||
import org.elasticsearch.search.aggregations.support.CoreValuesSourceType;
|
import org.elasticsearch.search.aggregations.support.CoreValuesSourceType;
|
||||||
import org.elasticsearch.search.aggregations.support.ValuesSourceType;
|
import org.elasticsearch.search.aggregations.support.ValuesSourceType;
|
||||||
import org.elasticsearch.xpack.runtimefields.IpScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.IpFieldScript;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
|
||||||
public class ScriptIpFieldData extends ScriptBinaryFieldData {
|
public class ScriptIpFieldData extends ScriptBinaryFieldData {
|
||||||
public static class Builder implements IndexFieldData.Builder {
|
public static class Builder implements IndexFieldData.Builder {
|
||||||
private final String name;
|
private final String name;
|
||||||
private final IpScriptFieldScript.LeafFactory leafFactory;
|
private final IpFieldScript.LeafFactory leafFactory;
|
||||||
|
|
||||||
public Builder(String name, IpScriptFieldScript.LeafFactory leafFactory) {
|
public Builder(String name, IpFieldScript.LeafFactory leafFactory) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.leafFactory = leafFactory;
|
this.leafFactory = leafFactory;
|
||||||
}
|
}
|
||||||
@ -41,16 +41,16 @@ public class ScriptIpFieldData extends ScriptBinaryFieldData {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private final IpScriptFieldScript.LeafFactory leafFactory;
|
private final IpFieldScript.LeafFactory leafFactory;
|
||||||
|
|
||||||
private ScriptIpFieldData(String fieldName, IpScriptFieldScript.LeafFactory leafFactory) {
|
private ScriptIpFieldData(String fieldName, IpFieldScript.LeafFactory leafFactory) {
|
||||||
super(fieldName);
|
super(fieldName);
|
||||||
this.leafFactory = leafFactory;
|
this.leafFactory = leafFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ScriptBinaryLeafFieldData loadDirect(LeafReaderContext context) throws Exception {
|
public ScriptBinaryLeafFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||||
IpScriptFieldScript script = leafFactory.newInstance(context);
|
IpFieldScript script = leafFactory.newInstance(context);
|
||||||
return new ScriptBinaryLeafFieldData() {
|
return new ScriptBinaryLeafFieldData() {
|
||||||
@Override
|
@Override
|
||||||
public ScriptDocValues<String> getScriptValues() {
|
public ScriptDocValues<String> getScriptValues() {
|
||||||
|
@ -7,16 +7,16 @@
|
|||||||
package org.elasticsearch.xpack.runtimefields.fielddata;
|
package org.elasticsearch.xpack.runtimefields.fielddata;
|
||||||
|
|
||||||
import org.elasticsearch.index.fielddata.AbstractSortedNumericDocValues;
|
import org.elasticsearch.index.fielddata.AbstractSortedNumericDocValues;
|
||||||
import org.elasticsearch.xpack.runtimefields.AbstractLongScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.AbstractLongFieldScript;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
public final class ScriptLongDocValues extends AbstractSortedNumericDocValues {
|
public final class ScriptLongDocValues extends AbstractSortedNumericDocValues {
|
||||||
private final AbstractLongScriptFieldScript script;
|
private final AbstractLongFieldScript script;
|
||||||
private int cursor;
|
private int cursor;
|
||||||
|
|
||||||
ScriptLongDocValues(AbstractLongScriptFieldScript script) {
|
ScriptLongDocValues(AbstractLongFieldScript script) {
|
||||||
this.script = script;
|
this.script = script;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ import org.elasticsearch.index.mapper.MapperService;
|
|||||||
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
||||||
import org.elasticsearch.search.aggregations.support.CoreValuesSourceType;
|
import org.elasticsearch.search.aggregations.support.CoreValuesSourceType;
|
||||||
import org.elasticsearch.search.aggregations.support.ValuesSourceType;
|
import org.elasticsearch.search.aggregations.support.ValuesSourceType;
|
||||||
import org.elasticsearch.xpack.runtimefields.LongScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.LongFieldScript;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
@ -25,9 +25,9 @@ public final class ScriptLongFieldData extends IndexNumericFieldData {
|
|||||||
|
|
||||||
public static class Builder implements IndexFieldData.Builder {
|
public static class Builder implements IndexFieldData.Builder {
|
||||||
private final String name;
|
private final String name;
|
||||||
private final LongScriptFieldScript.LeafFactory leafFactory;
|
private final LongFieldScript.LeafFactory leafFactory;
|
||||||
|
|
||||||
public Builder(String name, LongScriptFieldScript.LeafFactory leafFactory) {
|
public Builder(String name, LongFieldScript.LeafFactory leafFactory) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.leafFactory = leafFactory;
|
this.leafFactory = leafFactory;
|
||||||
}
|
}
|
||||||
@ -39,9 +39,9 @@ public final class ScriptLongFieldData extends IndexNumericFieldData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private final String fieldName;
|
private final String fieldName;
|
||||||
private final LongScriptFieldScript.LeafFactory leafFactory;
|
private final LongFieldScript.LeafFactory leafFactory;
|
||||||
|
|
||||||
private ScriptLongFieldData(String fieldName, LongScriptFieldScript.LeafFactory leafFactory) {
|
private ScriptLongFieldData(String fieldName, LongFieldScript.LeafFactory leafFactory) {
|
||||||
this.fieldName = fieldName;
|
this.fieldName = fieldName;
|
||||||
this.leafFactory = leafFactory;
|
this.leafFactory = leafFactory;
|
||||||
}
|
}
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
package org.elasticsearch.xpack.runtimefields.fielddata;
|
package org.elasticsearch.xpack.runtimefields.fielddata;
|
||||||
|
|
||||||
import org.elasticsearch.index.fielddata.SortingBinaryDocValues;
|
import org.elasticsearch.index.fielddata.SortingBinaryDocValues;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public final class ScriptStringDocValues extends SortingBinaryDocValues {
|
public final class ScriptStringDocValues extends SortingBinaryDocValues {
|
||||||
private final StringScriptFieldScript script;
|
private final StringFieldScript script;
|
||||||
|
|
||||||
ScriptStringDocValues(StringScriptFieldScript script) {
|
ScriptStringDocValues(StringFieldScript script) {
|
||||||
this.script = script;
|
this.script = script;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,14 +15,14 @@ import org.elasticsearch.index.mapper.MapperService;
|
|||||||
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
||||||
import org.elasticsearch.search.aggregations.support.CoreValuesSourceType;
|
import org.elasticsearch.search.aggregations.support.CoreValuesSourceType;
|
||||||
import org.elasticsearch.search.aggregations.support.ValuesSourceType;
|
import org.elasticsearch.search.aggregations.support.ValuesSourceType;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
public class ScriptStringFieldData extends ScriptBinaryFieldData {
|
public class ScriptStringFieldData extends ScriptBinaryFieldData {
|
||||||
public static class Builder implements IndexFieldData.Builder {
|
public static class Builder implements IndexFieldData.Builder {
|
||||||
private final String name;
|
private final String name;
|
||||||
private final StringScriptFieldScript.LeafFactory leafFactory;
|
private final StringFieldScript.LeafFactory leafFactory;
|
||||||
|
|
||||||
public Builder(String name, StringScriptFieldScript.LeafFactory leafFactory) {
|
public Builder(String name, StringFieldScript.LeafFactory leafFactory) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.leafFactory = leafFactory;
|
this.leafFactory = leafFactory;
|
||||||
}
|
}
|
||||||
@ -33,16 +33,16 @@ public class ScriptStringFieldData extends ScriptBinaryFieldData {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private final StringScriptFieldScript.LeafFactory leafFactory;
|
private final StringFieldScript.LeafFactory leafFactory;
|
||||||
|
|
||||||
private ScriptStringFieldData(String fieldName, StringScriptFieldScript.LeafFactory leafFactory) {
|
private ScriptStringFieldData(String fieldName, StringFieldScript.LeafFactory leafFactory) {
|
||||||
super(fieldName);
|
super(fieldName);
|
||||||
this.leafFactory = leafFactory;
|
this.leafFactory = leafFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ScriptBinaryLeafFieldData loadDirect(LeafReaderContext context) throws Exception {
|
public ScriptBinaryLeafFieldData loadDirect(LeafReaderContext context) throws Exception {
|
||||||
StringScriptFieldScript script = leafFactory.newInstance(context);
|
StringFieldScript script = leafFactory.newInstance(context);
|
||||||
return new ScriptBinaryLeafFieldData() {
|
return new ScriptBinaryLeafFieldData() {
|
||||||
@Override
|
@Override
|
||||||
public ScriptDocValues<?> getScriptValues() {
|
public ScriptDocValues<?> getScriptValues() {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
import org.elasticsearch.index.fielddata.ScriptDocValues;
|
||||||
@ -27,7 +27,7 @@ import static org.elasticsearch.common.unit.TimeValue.timeValueMillis;
|
|||||||
* Abstract base for scripts to execute to build scripted fields. Inspired by
|
* Abstract base for scripts to execute to build scripted fields. Inspired by
|
||||||
* {@link AggregationScript} but hopefully with less historical baggage.
|
* {@link AggregationScript} but hopefully with less historical baggage.
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractScriptFieldScript {
|
public abstract class AbstractFieldScript {
|
||||||
/**
|
/**
|
||||||
* The maximum number of values a script should be allowed to emit.
|
* The maximum number of values a script should be allowed to emit.
|
||||||
*/
|
*/
|
||||||
@ -64,7 +64,7 @@ public abstract class AbstractScriptFieldScript {
|
|||||||
private final Map<String, Object> params;
|
private final Map<String, Object> params;
|
||||||
private final LeafSearchLookup leafSearchLookup;
|
private final LeafSearchLookup leafSearchLookup;
|
||||||
|
|
||||||
public AbstractScriptFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
public AbstractFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
||||||
this.fieldName = fieldName;
|
this.fieldName = fieldName;
|
||||||
this.leafSearchLookup = searchLookup.getLeafSearchLookup(ctx);
|
this.leafSearchLookup = searchLookup.getLeafSearchLookup(ctx);
|
||||||
params = new HashMap<>(params);
|
params = new HashMap<>(params);
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
import org.apache.lucene.util.ArrayUtil;
|
import org.apache.lucene.util.ArrayUtil;
|
||||||
@ -15,11 +15,11 @@ import java.util.Map;
|
|||||||
/**
|
/**
|
||||||
* Common base class for script field scripts that return long values.
|
* Common base class for script field scripts that return long values.
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractLongScriptFieldScript extends AbstractScriptFieldScript {
|
public abstract class AbstractLongFieldScript extends AbstractFieldScript {
|
||||||
private long[] values = new long[1];
|
private long[] values = new long[1];
|
||||||
private int count;
|
private int count;
|
||||||
|
|
||||||
public AbstractLongScriptFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
public AbstractLongFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
||||||
super(fieldName, params, searchLookup, ctx);
|
super(fieldName, params, searchLookup, ctx);
|
||||||
}
|
}
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
import org.elasticsearch.common.Booleans;
|
import org.elasticsearch.common.Booleans;
|
||||||
@ -18,7 +18,7 @@ import java.util.Collections;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public abstract class BooleanScriptFieldScript extends AbstractScriptFieldScript {
|
public abstract class BooleanFieldScript extends AbstractFieldScript {
|
||||||
public static final ScriptContext<Factory> CONTEXT = newContext("boolean_script_field", Factory.class);
|
public static final ScriptContext<Factory> CONTEXT = newContext("boolean_script_field", Factory.class);
|
||||||
|
|
||||||
static List<Whitelist> whitelist() {
|
static List<Whitelist> whitelist() {
|
||||||
@ -35,13 +35,13 @@ public abstract class BooleanScriptFieldScript extends AbstractScriptFieldScript
|
|||||||
}
|
}
|
||||||
|
|
||||||
public interface LeafFactory {
|
public interface LeafFactory {
|
||||||
BooleanScriptFieldScript newInstance(LeafReaderContext ctx);
|
BooleanFieldScript newInstance(LeafReaderContext ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
private int trues;
|
private int trues;
|
||||||
private int falses;
|
private int falses;
|
||||||
|
|
||||||
public BooleanScriptFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
public BooleanFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
||||||
super(fieldName, params, searchLookup, ctx);
|
super(fieldName, params, searchLookup, ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,9 +82,9 @@ public abstract class BooleanScriptFieldScript extends AbstractScriptFieldScript
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class Emit {
|
public static class Emit {
|
||||||
private final BooleanScriptFieldScript script;
|
private final BooleanFieldScript script;
|
||||||
|
|
||||||
public Emit(BooleanScriptFieldScript script) {
|
public Emit(BooleanFieldScript script) {
|
||||||
this.script = script;
|
this.script = script;
|
||||||
}
|
}
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
import org.elasticsearch.common.time.DateFormatter;
|
import org.elasticsearch.common.time.DateFormatter;
|
||||||
@ -20,7 +20,7 @@ import java.util.Collections;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public abstract class DateScriptFieldScript extends AbstractLongScriptFieldScript {
|
public abstract class DateFieldScript extends AbstractLongFieldScript {
|
||||||
public static final ScriptContext<Factory> CONTEXT = newContext("date", Factory.class);
|
public static final ScriptContext<Factory> CONTEXT = newContext("date", Factory.class);
|
||||||
|
|
||||||
static List<Whitelist> whitelist() {
|
static List<Whitelist> whitelist() {
|
||||||
@ -35,12 +35,12 @@ public abstract class DateScriptFieldScript extends AbstractLongScriptFieldScrip
|
|||||||
}
|
}
|
||||||
|
|
||||||
public interface LeafFactory {
|
public interface LeafFactory {
|
||||||
DateScriptFieldScript newInstance(LeafReaderContext ctx);
|
DateFieldScript newInstance(LeafReaderContext ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
private final DateFormatter formatter;
|
private final DateFormatter formatter;
|
||||||
|
|
||||||
public DateScriptFieldScript(
|
public DateFieldScript(
|
||||||
String fieldName,
|
String fieldName,
|
||||||
Map<String, Object> params,
|
Map<String, Object> params,
|
||||||
SearchLookup searchLookup,
|
SearchLookup searchLookup,
|
||||||
@ -59,9 +59,9 @@ public abstract class DateScriptFieldScript extends AbstractLongScriptFieldScrip
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class Emit {
|
public static class Emit {
|
||||||
private final DateScriptFieldScript script;
|
private final DateFieldScript script;
|
||||||
|
|
||||||
public Emit(DateScriptFieldScript script) {
|
public Emit(DateFieldScript script) {
|
||||||
this.script = script;
|
this.script = script;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,9 +71,9 @@ public abstract class DateScriptFieldScript extends AbstractLongScriptFieldScrip
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class Parse {
|
public static class Parse {
|
||||||
private final DateScriptFieldScript script;
|
private final DateFieldScript script;
|
||||||
|
|
||||||
public Parse(DateScriptFieldScript script) {
|
public Parse(DateFieldScript script) {
|
||||||
this.script = script;
|
this.script = script;
|
||||||
}
|
}
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
import org.apache.lucene.util.ArrayUtil;
|
import org.apache.lucene.util.ArrayUtil;
|
||||||
@ -18,7 +18,7 @@ import java.util.Collections;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public abstract class DoubleScriptFieldScript extends AbstractScriptFieldScript {
|
public abstract class DoubleFieldScript extends AbstractFieldScript {
|
||||||
public static final ScriptContext<Factory> CONTEXT = newContext("double_script_field", Factory.class);
|
public static final ScriptContext<Factory> CONTEXT = newContext("double_script_field", Factory.class);
|
||||||
|
|
||||||
static List<Whitelist> whitelist() {
|
static List<Whitelist> whitelist() {
|
||||||
@ -35,13 +35,13 @@ public abstract class DoubleScriptFieldScript extends AbstractScriptFieldScript
|
|||||||
}
|
}
|
||||||
|
|
||||||
public interface LeafFactory {
|
public interface LeafFactory {
|
||||||
DoubleScriptFieldScript newInstance(LeafReaderContext ctx);
|
DoubleFieldScript newInstance(LeafReaderContext ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
private double[] values = new double[1];
|
private double[] values = new double[1];
|
||||||
private int count;
|
private int count;
|
||||||
|
|
||||||
public DoubleScriptFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
public DoubleFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
||||||
super(fieldName, params, searchLookup, ctx);
|
super(fieldName, params, searchLookup, ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,9 +80,9 @@ public abstract class DoubleScriptFieldScript extends AbstractScriptFieldScript
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class Emit {
|
public static class Emit {
|
||||||
private final DoubleScriptFieldScript script;
|
private final DoubleFieldScript script;
|
||||||
|
|
||||||
public Emit(DoubleScriptFieldScript script) {
|
public Emit(DoubleFieldScript script) {
|
||||||
this.script = script;
|
this.script = script;
|
||||||
}
|
}
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.document.InetAddressPoint;
|
import org.apache.lucene.document.InetAddressPoint;
|
||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
@ -26,7 +26,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Script producing IP addresses. Unlike the other {@linkplain AbstractScriptFieldScript}s
|
* Script producing IP addresses. Unlike the other {@linkplain AbstractFieldScript}s
|
||||||
* which deal with their native java objects this converts its values to the same format
|
* which deal with their native java objects this converts its values to the same format
|
||||||
* that Lucene uses to store its fields, {@link InetAddressPoint}. There are a few compelling
|
* that Lucene uses to store its fields, {@link InetAddressPoint}. There are a few compelling
|
||||||
* reasons to do this:
|
* reasons to do this:
|
||||||
@ -39,7 +39,7 @@ import java.util.Map;
|
|||||||
* so it saves us a lot of trouble to use the same representation.
|
* so it saves us a lot of trouble to use the same representation.
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public abstract class IpScriptFieldScript extends AbstractScriptFieldScript {
|
public abstract class IpFieldScript extends AbstractFieldScript {
|
||||||
public static final ScriptContext<Factory> CONTEXT = newContext("ip_script_field", Factory.class);
|
public static final ScriptContext<Factory> CONTEXT = newContext("ip_script_field", Factory.class);
|
||||||
|
|
||||||
static List<Whitelist> whitelist() {
|
static List<Whitelist> whitelist() {
|
||||||
@ -54,13 +54,13 @@ public abstract class IpScriptFieldScript extends AbstractScriptFieldScript {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public interface LeafFactory {
|
public interface LeafFactory {
|
||||||
IpScriptFieldScript newInstance(LeafReaderContext ctx);
|
IpFieldScript newInstance(LeafReaderContext ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
private BytesRef[] values = new BytesRef[1];
|
private BytesRef[] values = new BytesRef[1];
|
||||||
private int count;
|
private int count;
|
||||||
|
|
||||||
public IpScriptFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
public IpFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
||||||
super(fieldName, params, searchLookup, ctx);
|
super(fieldName, params, searchLookup, ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,9 +102,9 @@ public abstract class IpScriptFieldScript extends AbstractScriptFieldScript {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class Emit {
|
public static class Emit {
|
||||||
private final IpScriptFieldScript script;
|
private final IpFieldScript script;
|
||||||
|
|
||||||
public Emit(IpScriptFieldScript script) {
|
public Emit(IpFieldScript script) {
|
||||||
this.script = script;
|
this.script = script;
|
||||||
}
|
}
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
import org.elasticsearch.painless.spi.Whitelist;
|
import org.elasticsearch.painless.spi.Whitelist;
|
||||||
@ -17,7 +17,7 @@ import java.util.Collections;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public abstract class LongScriptFieldScript extends AbstractLongScriptFieldScript {
|
public abstract class LongFieldScript extends AbstractLongFieldScript {
|
||||||
public static final ScriptContext<Factory> CONTEXT = newContext("long_script_field", Factory.class);
|
public static final ScriptContext<Factory> CONTEXT = newContext("long_script_field", Factory.class);
|
||||||
|
|
||||||
static List<Whitelist> whitelist() {
|
static List<Whitelist> whitelist() {
|
||||||
@ -32,17 +32,17 @@ public abstract class LongScriptFieldScript extends AbstractLongScriptFieldScrip
|
|||||||
}
|
}
|
||||||
|
|
||||||
public interface LeafFactory {
|
public interface LeafFactory {
|
||||||
LongScriptFieldScript newInstance(LeafReaderContext ctx);
|
LongFieldScript newInstance(LeafReaderContext ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
public LongScriptFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
public LongFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
||||||
super(fieldName, params, searchLookup, ctx);
|
super(fieldName, params, searchLookup, ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Emit {
|
public static class Emit {
|
||||||
private final LongScriptFieldScript script;
|
private final LongFieldScript script;
|
||||||
|
|
||||||
public Emit(LongScriptFieldScript script) {
|
public Emit(LongFieldScript script) {
|
||||||
this.script = script;
|
this.script = script;
|
||||||
}
|
}
|
||||||
|
|
@ -24,12 +24,6 @@ import org.elasticsearch.script.Script;
|
|||||||
import org.elasticsearch.script.ScriptContext;
|
import org.elasticsearch.script.ScriptContext;
|
||||||
import org.elasticsearch.script.ScriptType;
|
import org.elasticsearch.script.ScriptType;
|
||||||
import org.elasticsearch.search.lookup.SearchLookup;
|
import org.elasticsearch.search.lookup.SearchLookup;
|
||||||
import org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.DateScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.IpScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.LongScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
@ -91,10 +85,7 @@ public final class RuntimeFieldMapper extends ParametrizedFieldMapper {
|
|||||||
static final Map<String, BiFunction<Builder, BuilderContext, AbstractScriptMappedFieldType<?>>> FIELD_TYPE_RESOLVER =
|
static final Map<String, BiFunction<Builder, BuilderContext, AbstractScriptMappedFieldType<?>>> FIELD_TYPE_RESOLVER =
|
||||||
org.elasticsearch.common.collect.Map.of(BooleanFieldMapper.CONTENT_TYPE, (builder, context) -> {
|
org.elasticsearch.common.collect.Map.of(BooleanFieldMapper.CONTENT_TYPE, (builder, context) -> {
|
||||||
builder.formatAndLocaleNotSupported();
|
builder.formatAndLocaleNotSupported();
|
||||||
BooleanScriptFieldScript.Factory factory = builder.scriptCompiler.compile(
|
BooleanFieldScript.Factory factory = builder.scriptCompiler.compile(builder.script.getValue(), BooleanFieldScript.CONTEXT);
|
||||||
builder.script.getValue(),
|
|
||||||
BooleanScriptFieldScript.CONTEXT
|
|
||||||
);
|
|
||||||
return new ScriptBooleanMappedFieldType(
|
return new ScriptBooleanMappedFieldType(
|
||||||
builder.buildFullName(context),
|
builder.buildFullName(context),
|
||||||
builder.script.getValue(),
|
builder.script.getValue(),
|
||||||
@ -102,10 +93,7 @@ public final class RuntimeFieldMapper extends ParametrizedFieldMapper {
|
|||||||
builder.meta.getValue()
|
builder.meta.getValue()
|
||||||
);
|
);
|
||||||
}, DateFieldMapper.CONTENT_TYPE, (builder, context) -> {
|
}, DateFieldMapper.CONTENT_TYPE, (builder, context) -> {
|
||||||
DateScriptFieldScript.Factory factory = builder.scriptCompiler.compile(
|
DateFieldScript.Factory factory = builder.scriptCompiler.compile(builder.script.getValue(), DateFieldScript.CONTEXT);
|
||||||
builder.script.getValue(),
|
|
||||||
DateScriptFieldScript.CONTEXT
|
|
||||||
);
|
|
||||||
String format = builder.format.getValue();
|
String format = builder.format.getValue();
|
||||||
if (format == null) {
|
if (format == null) {
|
||||||
format = DateFieldMapper.DEFAULT_DATE_TIME_FORMATTER.pattern();
|
format = DateFieldMapper.DEFAULT_DATE_TIME_FORMATTER.pattern();
|
||||||
@ -124,10 +112,7 @@ public final class RuntimeFieldMapper extends ParametrizedFieldMapper {
|
|||||||
);
|
);
|
||||||
}, NumberType.DOUBLE.typeName(), (builder, context) -> {
|
}, NumberType.DOUBLE.typeName(), (builder, context) -> {
|
||||||
builder.formatAndLocaleNotSupported();
|
builder.formatAndLocaleNotSupported();
|
||||||
DoubleScriptFieldScript.Factory factory = builder.scriptCompiler.compile(
|
DoubleFieldScript.Factory factory = builder.scriptCompiler.compile(builder.script.getValue(), DoubleFieldScript.CONTEXT);
|
||||||
builder.script.getValue(),
|
|
||||||
DoubleScriptFieldScript.CONTEXT
|
|
||||||
);
|
|
||||||
return new ScriptDoubleMappedFieldType(
|
return new ScriptDoubleMappedFieldType(
|
||||||
builder.buildFullName(context),
|
builder.buildFullName(context),
|
||||||
builder.script.getValue(),
|
builder.script.getValue(),
|
||||||
@ -136,10 +121,7 @@ public final class RuntimeFieldMapper extends ParametrizedFieldMapper {
|
|||||||
);
|
);
|
||||||
}, IpFieldMapper.CONTENT_TYPE, (builder, context) -> {
|
}, IpFieldMapper.CONTENT_TYPE, (builder, context) -> {
|
||||||
builder.formatAndLocaleNotSupported();
|
builder.formatAndLocaleNotSupported();
|
||||||
IpScriptFieldScript.Factory factory = builder.scriptCompiler.compile(
|
IpFieldScript.Factory factory = builder.scriptCompiler.compile(builder.script.getValue(), IpFieldScript.CONTEXT);
|
||||||
builder.script.getValue(),
|
|
||||||
IpScriptFieldScript.CONTEXT
|
|
||||||
);
|
|
||||||
return new ScriptIpMappedFieldType(
|
return new ScriptIpMappedFieldType(
|
||||||
builder.buildFullName(context),
|
builder.buildFullName(context),
|
||||||
builder.script.getValue(),
|
builder.script.getValue(),
|
||||||
@ -148,10 +130,7 @@ public final class RuntimeFieldMapper extends ParametrizedFieldMapper {
|
|||||||
);
|
);
|
||||||
}, KeywordFieldMapper.CONTENT_TYPE, (builder, context) -> {
|
}, KeywordFieldMapper.CONTENT_TYPE, (builder, context) -> {
|
||||||
builder.formatAndLocaleNotSupported();
|
builder.formatAndLocaleNotSupported();
|
||||||
StringScriptFieldScript.Factory factory = builder.scriptCompiler.compile(
|
StringFieldScript.Factory factory = builder.scriptCompiler.compile(builder.script.getValue(), StringFieldScript.CONTEXT);
|
||||||
builder.script.getValue(),
|
|
||||||
StringScriptFieldScript.CONTEXT
|
|
||||||
);
|
|
||||||
return new ScriptKeywordMappedFieldType(
|
return new ScriptKeywordMappedFieldType(
|
||||||
builder.buildFullName(context),
|
builder.buildFullName(context),
|
||||||
builder.script.getValue(),
|
builder.script.getValue(),
|
||||||
@ -160,10 +139,7 @@ public final class RuntimeFieldMapper extends ParametrizedFieldMapper {
|
|||||||
);
|
);
|
||||||
}, NumberType.LONG.typeName(), (builder, context) -> {
|
}, NumberType.LONG.typeName(), (builder, context) -> {
|
||||||
builder.formatAndLocaleNotSupported();
|
builder.formatAndLocaleNotSupported();
|
||||||
LongScriptFieldScript.Factory factory = builder.scriptCompiler.compile(
|
LongFieldScript.Factory factory = builder.scriptCompiler.compile(builder.script.getValue(), LongFieldScript.CONTEXT);
|
||||||
builder.script.getValue(),
|
|
||||||
LongScriptFieldScript.CONTEXT
|
|
||||||
);
|
|
||||||
return new ScriptLongMappedFieldType(
|
return new ScriptLongMappedFieldType(
|
||||||
builder.buildFullName(context),
|
builder.buildFullName(context),
|
||||||
builder.script.getValue(),
|
builder.script.getValue(),
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.elasticsearch.painless.spi.PainlessExtension;
|
import org.elasticsearch.painless.spi.PainlessExtension;
|
||||||
import org.elasticsearch.painless.spi.Whitelist;
|
import org.elasticsearch.painless.spi.Whitelist;
|
||||||
@ -17,18 +17,18 @@ public class RuntimeFieldsPainlessExtension implements PainlessExtension {
|
|||||||
@Override
|
@Override
|
||||||
public Map<ScriptContext<?>, List<Whitelist>> getContextWhitelists() {
|
public Map<ScriptContext<?>, List<Whitelist>> getContextWhitelists() {
|
||||||
return org.elasticsearch.common.collect.Map.of(
|
return org.elasticsearch.common.collect.Map.of(
|
||||||
BooleanScriptFieldScript.CONTEXT,
|
BooleanFieldScript.CONTEXT,
|
||||||
BooleanScriptFieldScript.whitelist(),
|
BooleanFieldScript.whitelist(),
|
||||||
DateScriptFieldScript.CONTEXT,
|
DateFieldScript.CONTEXT,
|
||||||
DateScriptFieldScript.whitelist(),
|
DateFieldScript.whitelist(),
|
||||||
DoubleScriptFieldScript.CONTEXT,
|
DoubleFieldScript.CONTEXT,
|
||||||
DoubleScriptFieldScript.whitelist(),
|
DoubleFieldScript.whitelist(),
|
||||||
IpScriptFieldScript.CONTEXT,
|
IpFieldScript.CONTEXT,
|
||||||
IpScriptFieldScript.whitelist(),
|
IpFieldScript.whitelist(),
|
||||||
LongScriptFieldScript.CONTEXT,
|
LongFieldScript.CONTEXT,
|
||||||
LongScriptFieldScript.whitelist(),
|
LongFieldScript.whitelist(),
|
||||||
StringScriptFieldScript.CONTEXT,
|
StringFieldScript.CONTEXT,
|
||||||
StringScriptFieldScript.whitelist()
|
StringFieldScript.whitelist()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -17,7 +17,6 @@ import org.elasticsearch.index.query.QueryShardContext;
|
|||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.search.DocValueFormat;
|
import org.elasticsearch.search.DocValueFormat;
|
||||||
import org.elasticsearch.search.lookup.SearchLookup;
|
import org.elasticsearch.search.lookup.SearchLookup;
|
||||||
import org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptBooleanFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptBooleanFieldData;
|
||||||
import org.elasticsearch.xpack.runtimefields.query.BooleanScriptFieldExistsQuery;
|
import org.elasticsearch.xpack.runtimefields.query.BooleanScriptFieldExistsQuery;
|
||||||
import org.elasticsearch.xpack.runtimefields.query.BooleanScriptFieldTermQuery;
|
import org.elasticsearch.xpack.runtimefields.query.BooleanScriptFieldTermQuery;
|
||||||
@ -27,8 +26,8 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class ScriptBooleanMappedFieldType extends AbstractScriptMappedFieldType<BooleanScriptFieldScript.LeafFactory> {
|
public class ScriptBooleanMappedFieldType extends AbstractScriptMappedFieldType<BooleanFieldScript.LeafFactory> {
|
||||||
ScriptBooleanMappedFieldType(String name, Script script, BooleanScriptFieldScript.Factory scriptFactory, Map<String, String> meta) {
|
ScriptBooleanMappedFieldType(String name, Script script, BooleanFieldScript.Factory scriptFactory, Map<String, String> meta) {
|
||||||
super(name, script, scriptFactory::newFactory, meta);
|
super(name, script, scriptFactory::newFactory, meta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@ package org.elasticsearch.xpack.runtimefields.mapper;
|
|||||||
|
|
||||||
import com.carrotsearch.hppc.LongHashSet;
|
import com.carrotsearch.hppc.LongHashSet;
|
||||||
import com.carrotsearch.hppc.LongSet;
|
import com.carrotsearch.hppc.LongSet;
|
||||||
|
|
||||||
import org.apache.lucene.search.Query;
|
import org.apache.lucene.search.Query;
|
||||||
import org.elasticsearch.common.Nullable;
|
import org.elasticsearch.common.Nullable;
|
||||||
import org.elasticsearch.common.lucene.search.Queries;
|
import org.elasticsearch.common.lucene.search.Queries;
|
||||||
@ -22,7 +21,6 @@ import org.elasticsearch.index.query.QueryShardContext;
|
|||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.search.DocValueFormat;
|
import org.elasticsearch.search.DocValueFormat;
|
||||||
import org.elasticsearch.search.lookup.SearchLookup;
|
import org.elasticsearch.search.lookup.SearchLookup;
|
||||||
import org.elasticsearch.xpack.runtimefields.DateScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptDateFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptDateFieldData;
|
||||||
import org.elasticsearch.xpack.runtimefields.query.LongScriptFieldDistanceFeatureQuery;
|
import org.elasticsearch.xpack.runtimefields.query.LongScriptFieldDistanceFeatureQuery;
|
||||||
import org.elasticsearch.xpack.runtimefields.query.LongScriptFieldExistsQuery;
|
import org.elasticsearch.xpack.runtimefields.query.LongScriptFieldExistsQuery;
|
||||||
@ -37,13 +35,13 @@ import java.util.Locale;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class ScriptDateMappedFieldType extends AbstractScriptMappedFieldType<DateScriptFieldScript.LeafFactory> {
|
public class ScriptDateMappedFieldType extends AbstractScriptMappedFieldType<DateFieldScript.LeafFactory> {
|
||||||
private final DateFormatter dateTimeFormatter;
|
private final DateFormatter dateTimeFormatter;
|
||||||
|
|
||||||
ScriptDateMappedFieldType(
|
ScriptDateMappedFieldType(
|
||||||
String name,
|
String name,
|
||||||
Script script,
|
Script script,
|
||||||
DateScriptFieldScript.Factory scriptFactory,
|
DateFieldScript.Factory scriptFactory,
|
||||||
DateFormatter dateTimeFormatter,
|
DateFormatter dateTimeFormatter,
|
||||||
Map<String, String> meta
|
Map<String, String> meta
|
||||||
) {
|
) {
|
||||||
|
@ -8,7 +8,6 @@ package org.elasticsearch.xpack.runtimefields.mapper;
|
|||||||
|
|
||||||
import com.carrotsearch.hppc.LongHashSet;
|
import com.carrotsearch.hppc.LongHashSet;
|
||||||
import com.carrotsearch.hppc.LongSet;
|
import com.carrotsearch.hppc.LongSet;
|
||||||
|
|
||||||
import org.apache.lucene.search.Query;
|
import org.apache.lucene.search.Query;
|
||||||
import org.elasticsearch.common.lucene.search.Queries;
|
import org.elasticsearch.common.lucene.search.Queries;
|
||||||
import org.elasticsearch.common.time.DateMathParser;
|
import org.elasticsearch.common.time.DateMathParser;
|
||||||
@ -17,7 +16,6 @@ import org.elasticsearch.index.query.QueryShardContext;
|
|||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.search.DocValueFormat;
|
import org.elasticsearch.search.DocValueFormat;
|
||||||
import org.elasticsearch.search.lookup.SearchLookup;
|
import org.elasticsearch.search.lookup.SearchLookup;
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptDoubleFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptDoubleFieldData;
|
||||||
import org.elasticsearch.xpack.runtimefields.query.DoubleScriptFieldExistsQuery;
|
import org.elasticsearch.xpack.runtimefields.query.DoubleScriptFieldExistsQuery;
|
||||||
import org.elasticsearch.xpack.runtimefields.query.DoubleScriptFieldRangeQuery;
|
import org.elasticsearch.xpack.runtimefields.query.DoubleScriptFieldRangeQuery;
|
||||||
@ -29,8 +27,8 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class ScriptDoubleMappedFieldType extends AbstractScriptMappedFieldType<DoubleScriptFieldScript.LeafFactory> {
|
public class ScriptDoubleMappedFieldType extends AbstractScriptMappedFieldType<DoubleFieldScript.LeafFactory> {
|
||||||
ScriptDoubleMappedFieldType(String name, Script script, DoubleScriptFieldScript.Factory scriptFactory, Map<String, String> meta) {
|
ScriptDoubleMappedFieldType(String name, Script script, DoubleFieldScript.Factory scriptFactory, Map<String, String> meta) {
|
||||||
super(name, script, scriptFactory::newFactory, meta);
|
super(name, script, scriptFactory::newFactory, meta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +22,6 @@ import org.elasticsearch.index.query.QueryShardContext;
|
|||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.search.DocValueFormat;
|
import org.elasticsearch.search.DocValueFormat;
|
||||||
import org.elasticsearch.search.lookup.SearchLookup;
|
import org.elasticsearch.search.lookup.SearchLookup;
|
||||||
import org.elasticsearch.xpack.runtimefields.IpScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptIpFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptIpFieldData;
|
||||||
import org.elasticsearch.xpack.runtimefields.query.IpScriptFieldExistsQuery;
|
import org.elasticsearch.xpack.runtimefields.query.IpScriptFieldExistsQuery;
|
||||||
import org.elasticsearch.xpack.runtimefields.query.IpScriptFieldRangeQuery;
|
import org.elasticsearch.xpack.runtimefields.query.IpScriptFieldRangeQuery;
|
||||||
@ -37,8 +36,8 @@ import java.util.Locale;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public final class ScriptIpMappedFieldType extends AbstractScriptMappedFieldType<IpScriptFieldScript.LeafFactory> {
|
public final class ScriptIpMappedFieldType extends AbstractScriptMappedFieldType<IpFieldScript.LeafFactory> {
|
||||||
ScriptIpMappedFieldType(String name, Script script, IpScriptFieldScript.Factory scriptFactory, Map<String, String> meta) {
|
ScriptIpMappedFieldType(String name, Script script, IpFieldScript.Factory scriptFactory, Map<String, String> meta) {
|
||||||
super(name, script, scriptFactory::newFactory, meta);
|
super(name, script, scriptFactory::newFactory, meta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ import org.elasticsearch.index.mapper.KeywordFieldMapper;
|
|||||||
import org.elasticsearch.index.query.QueryShardContext;
|
import org.elasticsearch.index.query.QueryShardContext;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.search.lookup.SearchLookup;
|
import org.elasticsearch.search.lookup.SearchLookup;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptStringFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptStringFieldData;
|
||||||
import org.elasticsearch.xpack.runtimefields.query.StringScriptFieldExistsQuery;
|
import org.elasticsearch.xpack.runtimefields.query.StringScriptFieldExistsQuery;
|
||||||
import org.elasticsearch.xpack.runtimefields.query.StringScriptFieldFuzzyQuery;
|
import org.elasticsearch.xpack.runtimefields.query.StringScriptFieldFuzzyQuery;
|
||||||
@ -36,8 +35,8 @@ import java.util.function.Supplier;
|
|||||||
|
|
||||||
import static java.util.stream.Collectors.toSet;
|
import static java.util.stream.Collectors.toSet;
|
||||||
|
|
||||||
public final class ScriptKeywordMappedFieldType extends AbstractScriptMappedFieldType<StringScriptFieldScript.LeafFactory> {
|
public final class ScriptKeywordMappedFieldType extends AbstractScriptMappedFieldType<StringFieldScript.LeafFactory> {
|
||||||
ScriptKeywordMappedFieldType(String name, Script script, StringScriptFieldScript.Factory scriptFactory, Map<String, String> meta) {
|
ScriptKeywordMappedFieldType(String name, Script script, StringFieldScript.Factory scriptFactory, Map<String, String> meta) {
|
||||||
super(name, script, scriptFactory::newFactory, meta);
|
super(name, script, scriptFactory::newFactory, meta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@ package org.elasticsearch.xpack.runtimefields.mapper;
|
|||||||
|
|
||||||
import com.carrotsearch.hppc.LongHashSet;
|
import com.carrotsearch.hppc.LongHashSet;
|
||||||
import com.carrotsearch.hppc.LongSet;
|
import com.carrotsearch.hppc.LongSet;
|
||||||
|
|
||||||
import org.apache.lucene.search.Query;
|
import org.apache.lucene.search.Query;
|
||||||
import org.elasticsearch.common.lucene.search.Queries;
|
import org.elasticsearch.common.lucene.search.Queries;
|
||||||
import org.elasticsearch.common.time.DateMathParser;
|
import org.elasticsearch.common.time.DateMathParser;
|
||||||
@ -17,7 +16,6 @@ import org.elasticsearch.index.query.QueryShardContext;
|
|||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.search.DocValueFormat;
|
import org.elasticsearch.search.DocValueFormat;
|
||||||
import org.elasticsearch.search.lookup.SearchLookup;
|
import org.elasticsearch.search.lookup.SearchLookup;
|
||||||
import org.elasticsearch.xpack.runtimefields.LongScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptLongFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptLongFieldData;
|
||||||
import org.elasticsearch.xpack.runtimefields.query.LongScriptFieldExistsQuery;
|
import org.elasticsearch.xpack.runtimefields.query.LongScriptFieldExistsQuery;
|
||||||
import org.elasticsearch.xpack.runtimefields.query.LongScriptFieldRangeQuery;
|
import org.elasticsearch.xpack.runtimefields.query.LongScriptFieldRangeQuery;
|
||||||
@ -29,8 +27,8 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class ScriptLongMappedFieldType extends AbstractScriptMappedFieldType<LongScriptFieldScript.LeafFactory> {
|
public class ScriptLongMappedFieldType extends AbstractScriptMappedFieldType<LongFieldScript.LeafFactory> {
|
||||||
ScriptLongMappedFieldType(String name, Script script, LongScriptFieldScript.Factory scriptFactory, Map<String, String> meta) {
|
ScriptLongMappedFieldType(String name, Script script, LongFieldScript.Factory scriptFactory, Map<String, String> meta) {
|
||||||
super(name, script, scriptFactory::newFactory, meta);
|
super(name, script, scriptFactory::newFactory, meta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
import org.elasticsearch.painless.spi.Whitelist;
|
import org.elasticsearch.painless.spi.Whitelist;
|
||||||
@ -19,7 +19,7 @@ import java.util.List;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public abstract class StringScriptFieldScript extends AbstractScriptFieldScript {
|
public abstract class StringFieldScript extends AbstractFieldScript {
|
||||||
/**
|
/**
|
||||||
* The maximum number of chars a script should be allowed to emit.
|
* The maximum number of chars a script should be allowed to emit.
|
||||||
*/
|
*/
|
||||||
@ -41,13 +41,13 @@ public abstract class StringScriptFieldScript extends AbstractScriptFieldScript
|
|||||||
}
|
}
|
||||||
|
|
||||||
public interface LeafFactory {
|
public interface LeafFactory {
|
||||||
StringScriptFieldScript newInstance(LeafReaderContext ctx);
|
StringFieldScript newInstance(LeafReaderContext ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
private final List<String> results = new ArrayList<>();
|
private final List<String> results = new ArrayList<>();
|
||||||
private long chars;
|
private long chars;
|
||||||
|
|
||||||
public StringScriptFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
public StringFieldScript(String fieldName, Map<String, Object> params, SearchLookup searchLookup, LeafReaderContext ctx) {
|
||||||
super(fieldName, params, searchLookup, ctx);
|
super(fieldName, params, searchLookup, ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,9 +83,9 @@ public abstract class StringScriptFieldScript extends AbstractScriptFieldScript
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class Emit {
|
public static class Emit {
|
||||||
private final StringScriptFieldScript script;
|
private final StringFieldScript script;
|
||||||
|
|
||||||
public Emit(StringScriptFieldScript script) {
|
public Emit(StringFieldScript script) {
|
||||||
this.script = script;
|
this.script = script;
|
||||||
}
|
}
|
||||||
|
|
@ -8,20 +8,20 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
|
|
||||||
import org.apache.lucene.search.QueryVisitor;
|
import org.apache.lucene.search.QueryVisitor;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.BooleanFieldScript;
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract base class for building queries based on {@link DoubleScriptFieldScript}.
|
* Abstract base class for building queries based on {@link DoubleFieldScript}.
|
||||||
*/
|
*/
|
||||||
abstract class AbstractBooleanScriptFieldQuery extends AbstractScriptFieldQuery<BooleanScriptFieldScript> {
|
abstract class AbstractBooleanScriptFieldQuery extends AbstractScriptFieldQuery<BooleanFieldScript> {
|
||||||
|
|
||||||
AbstractBooleanScriptFieldQuery(Script script, BooleanScriptFieldScript.LeafFactory leafFactory, String fieldName) {
|
AbstractBooleanScriptFieldQuery(Script script, BooleanFieldScript.LeafFactory leafFactory, String fieldName) {
|
||||||
super(script, fieldName, leafFactory::newInstance);
|
super(script, fieldName, leafFactory::newInstance);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean matches(BooleanScriptFieldScript scriptContext, int docId) {
|
protected boolean matches(BooleanFieldScript scriptContext, int docId) {
|
||||||
scriptContext.runForDoc(docId);
|
scriptContext.runForDoc(docId);
|
||||||
return matches(scriptContext.trues(), scriptContext.falses());
|
return matches(scriptContext.trues(), scriptContext.falses());
|
||||||
}
|
}
|
||||||
|
@ -8,19 +8,19 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
|
|
||||||
import org.apache.lucene.search.QueryVisitor;
|
import org.apache.lucene.search.QueryVisitor;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract base class for building queries based on {@link DoubleScriptFieldScript}.
|
* Abstract base class for building queries based on {@link DoubleFieldScript}.
|
||||||
*/
|
*/
|
||||||
abstract class AbstractDoubleScriptFieldQuery extends AbstractScriptFieldQuery<DoubleScriptFieldScript> {
|
abstract class AbstractDoubleScriptFieldQuery extends AbstractScriptFieldQuery<DoubleFieldScript> {
|
||||||
|
|
||||||
AbstractDoubleScriptFieldQuery(Script script, DoubleScriptFieldScript.LeafFactory leafFactory, String fieldName) {
|
AbstractDoubleScriptFieldQuery(Script script, DoubleFieldScript.LeafFactory leafFactory, String fieldName) {
|
||||||
super(script, fieldName, leafFactory::newInstance);
|
super(script, fieldName, leafFactory::newInstance);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean matches(DoubleScriptFieldScript scriptContext, int docId) {
|
protected boolean matches(DoubleFieldScript scriptContext, int docId) {
|
||||||
scriptContext.runForDoc(docId);
|
scriptContext.runForDoc(docId);
|
||||||
return matches(scriptContext.values(), scriptContext.count());
|
return matches(scriptContext.values(), scriptContext.count());
|
||||||
}
|
}
|
||||||
|
@ -11,22 +11,22 @@ import org.apache.lucene.util.BytesRef;
|
|||||||
import org.elasticsearch.common.bytes.BytesArray;
|
import org.elasticsearch.common.bytes.BytesArray;
|
||||||
import org.elasticsearch.common.bytes.BytesReference;
|
import org.elasticsearch.common.bytes.BytesReference;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.IpScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.IpFieldScript;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract base class for building queries based on {@link StringScriptFieldScript}.
|
* Abstract base class for building queries based on {@link StringFieldScript}.
|
||||||
*/
|
*/
|
||||||
abstract class AbstractIpScriptFieldQuery extends AbstractScriptFieldQuery<IpScriptFieldScript> {
|
abstract class AbstractIpScriptFieldQuery extends AbstractScriptFieldQuery<IpFieldScript> {
|
||||||
|
|
||||||
AbstractIpScriptFieldQuery(Script script, IpScriptFieldScript.LeafFactory leafFactory, String fieldName) {
|
AbstractIpScriptFieldQuery(Script script, IpFieldScript.LeafFactory leafFactory, String fieldName) {
|
||||||
super(script, fieldName, leafFactory::newInstance);
|
super(script, fieldName, leafFactory::newInstance);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean matches(IpScriptFieldScript scriptContext, int docId) {
|
protected boolean matches(IpFieldScript scriptContext, int docId) {
|
||||||
scriptContext.runForDoc(docId);
|
scriptContext.runForDoc(docId);
|
||||||
return matches(scriptContext.values(), scriptContext.count());
|
return matches(scriptContext.values(), scriptContext.count());
|
||||||
}
|
}
|
||||||
|
@ -9,25 +9,25 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
import org.apache.lucene.search.QueryVisitor;
|
import org.apache.lucene.search.QueryVisitor;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.AbstractLongScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.AbstractLongFieldScript;
|
||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract base class for building queries based on {@link AbstractLongScriptFieldScript}.
|
* Abstract base class for building queries based on {@link AbstractLongFieldScript}.
|
||||||
*/
|
*/
|
||||||
abstract class AbstractLongScriptFieldQuery extends AbstractScriptFieldQuery<AbstractLongScriptFieldScript> {
|
abstract class AbstractLongScriptFieldQuery extends AbstractScriptFieldQuery<AbstractLongFieldScript> {
|
||||||
|
|
||||||
AbstractLongScriptFieldQuery(
|
AbstractLongScriptFieldQuery(
|
||||||
Script script,
|
Script script,
|
||||||
Function<LeafReaderContext, AbstractLongScriptFieldScript> scriptContextFunction,
|
Function<LeafReaderContext, AbstractLongFieldScript> scriptContextFunction,
|
||||||
String fieldName
|
String fieldName
|
||||||
) {
|
) {
|
||||||
super(script, fieldName, scriptContextFunction);
|
super(script, fieldName, scriptContextFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean matches(AbstractLongScriptFieldScript scriptContext, int docId) {
|
protected boolean matches(AbstractLongFieldScript scriptContext, int docId) {
|
||||||
scriptContext.runForDoc(docId);
|
scriptContext.runForDoc(docId);
|
||||||
return AbstractLongScriptFieldQuery.this.matches(scriptContext.values(), scriptContext.count());
|
return AbstractLongScriptFieldQuery.this.matches(scriptContext.values(), scriptContext.count());
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ import org.apache.lucene.search.Scorer;
|
|||||||
import org.apache.lucene.search.TwoPhaseIterator;
|
import org.apache.lucene.search.TwoPhaseIterator;
|
||||||
import org.apache.lucene.search.Weight;
|
import org.apache.lucene.search.Weight;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.AbstractScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.AbstractFieldScript;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -26,7 +26,7 @@ import java.util.function.Function;
|
|||||||
/**
|
/**
|
||||||
* Abstract base class for building queries based on script fields.
|
* Abstract base class for building queries based on script fields.
|
||||||
*/
|
*/
|
||||||
abstract class AbstractScriptFieldQuery<S extends AbstractScriptFieldScript> extends Query {
|
abstract class AbstractScriptFieldQuery<S extends AbstractFieldScript> extends Query {
|
||||||
/**
|
/**
|
||||||
* We don't have the infrastructure to estimate the match cost of a script
|
* We don't have the infrastructure to estimate the match cost of a script
|
||||||
* so we just use a big number.
|
* so we just use a big number.
|
||||||
|
@ -10,7 +10,7 @@ import org.apache.lucene.search.QueryVisitor;
|
|||||||
import org.apache.lucene.util.BytesRefBuilder;
|
import org.apache.lucene.util.BytesRefBuilder;
|
||||||
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ public abstract class AbstractStringScriptFieldAutomatonQuery extends AbstractSt
|
|||||||
|
|
||||||
public AbstractStringScriptFieldAutomatonQuery(
|
public AbstractStringScriptFieldAutomatonQuery(
|
||||||
Script script,
|
Script script,
|
||||||
StringScriptFieldScript.LeafFactory leafFactory,
|
StringFieldScript.LeafFactory leafFactory,
|
||||||
String fieldName,
|
String fieldName,
|
||||||
ByteRunAutomaton automaton
|
ByteRunAutomaton automaton
|
||||||
) {
|
) {
|
||||||
|
@ -7,21 +7,21 @@
|
|||||||
package org.elasticsearch.xpack.runtimefields.query;
|
package org.elasticsearch.xpack.runtimefields.query;
|
||||||
|
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract base class for building queries based on {@link StringScriptFieldScript}.
|
* Abstract base class for building queries based on {@link StringFieldScript}.
|
||||||
*/
|
*/
|
||||||
abstract class AbstractStringScriptFieldQuery extends AbstractScriptFieldQuery<StringScriptFieldScript> {
|
abstract class AbstractStringScriptFieldQuery extends AbstractScriptFieldQuery<StringFieldScript> {
|
||||||
|
|
||||||
AbstractStringScriptFieldQuery(Script script, StringScriptFieldScript.LeafFactory leafFactory, String fieldName) {
|
AbstractStringScriptFieldQuery(Script script, StringFieldScript.LeafFactory leafFactory, String fieldName) {
|
||||||
super(script, fieldName, leafFactory::newInstance);
|
super(script, fieldName, leafFactory::newInstance);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected final boolean matches(StringScriptFieldScript scriptContext, int docId) {
|
protected final boolean matches(StringFieldScript scriptContext, int docId) {
|
||||||
return matches(scriptContext.resultsForDoc(docId));
|
return matches(scriptContext.resultsForDoc(docId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,10 +7,10 @@
|
|||||||
package org.elasticsearch.xpack.runtimefields.query;
|
package org.elasticsearch.xpack.runtimefields.query;
|
||||||
|
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.BooleanFieldScript;
|
||||||
|
|
||||||
public class BooleanScriptFieldExistsQuery extends AbstractBooleanScriptFieldQuery {
|
public class BooleanScriptFieldExistsQuery extends AbstractBooleanScriptFieldQuery {
|
||||||
public BooleanScriptFieldExistsQuery(Script script, BooleanScriptFieldScript.LeafFactory leafFactory, String fieldName) {
|
public BooleanScriptFieldExistsQuery(Script script, BooleanFieldScript.LeafFactory leafFactory, String fieldName) {
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
package org.elasticsearch.xpack.runtimefields.query;
|
package org.elasticsearch.xpack.runtimefields.query;
|
||||||
|
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.BooleanFieldScript;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class BooleanScriptFieldTermQuery extends AbstractBooleanScriptFieldQuery {
|
public class BooleanScriptFieldTermQuery extends AbstractBooleanScriptFieldQuery {
|
||||||
private final boolean term;
|
private final boolean term;
|
||||||
|
|
||||||
public BooleanScriptFieldTermQuery(Script script, BooleanScriptFieldScript.LeafFactory leafFactory, String fieldName, boolean term) {
|
public BooleanScriptFieldTermQuery(Script script, BooleanFieldScript.LeafFactory leafFactory, String fieldName, boolean term) {
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
this.term = term;
|
this.term = term;
|
||||||
}
|
}
|
||||||
|
@ -7,10 +7,10 @@
|
|||||||
package org.elasticsearch.xpack.runtimefields.query;
|
package org.elasticsearch.xpack.runtimefields.query;
|
||||||
|
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript;
|
||||||
|
|
||||||
public class DoubleScriptFieldExistsQuery extends AbstractDoubleScriptFieldQuery {
|
public class DoubleScriptFieldExistsQuery extends AbstractDoubleScriptFieldQuery {
|
||||||
public DoubleScriptFieldExistsQuery(Script script, DoubleScriptFieldScript.LeafFactory leafFactory, String fieldName) {
|
public DoubleScriptFieldExistsQuery(Script script, DoubleFieldScript.LeafFactory leafFactory, String fieldName) {
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
package org.elasticsearch.xpack.runtimefields.query;
|
package org.elasticsearch.xpack.runtimefields.query;
|
||||||
|
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ public class DoubleScriptFieldRangeQuery extends AbstractDoubleScriptFieldQuery
|
|||||||
|
|
||||||
public DoubleScriptFieldRangeQuery(
|
public DoubleScriptFieldRangeQuery(
|
||||||
Script script,
|
Script script,
|
||||||
DoubleScriptFieldScript.LeafFactory leafFactory,
|
DoubleFieldScript.LeafFactory leafFactory,
|
||||||
String fieldName,
|
String fieldName,
|
||||||
double lowerValue,
|
double lowerValue,
|
||||||
double upperValue
|
double upperValue
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
package org.elasticsearch.xpack.runtimefields.query;
|
package org.elasticsearch.xpack.runtimefields.query;
|
||||||
|
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class DoubleScriptFieldTermQuery extends AbstractDoubleScriptFieldQuery {
|
public class DoubleScriptFieldTermQuery extends AbstractDoubleScriptFieldQuery {
|
||||||
private final double term;
|
private final double term;
|
||||||
|
|
||||||
public DoubleScriptFieldTermQuery(Script script, DoubleScriptFieldScript.LeafFactory leafFactory, String fieldName, double term) {
|
public DoubleScriptFieldTermQuery(Script script, DoubleFieldScript.LeafFactory leafFactory, String fieldName, double term) {
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
this.term = term;
|
this.term = term;
|
||||||
}
|
}
|
||||||
|
@ -9,9 +9,8 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
|
|
||||||
import com.carrotsearch.hppc.LongSet;
|
import com.carrotsearch.hppc.LongSet;
|
||||||
import com.carrotsearch.hppc.cursors.LongCursor;
|
import com.carrotsearch.hppc.cursors.LongCursor;
|
||||||
|
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -23,7 +22,7 @@ public class DoubleScriptFieldTermsQuery extends AbstractDoubleScriptFieldQuery
|
|||||||
* Build the query.
|
* Build the query.
|
||||||
* @param terms The terms converted to a long with {@link Double#doubleToLongBits(double)}.
|
* @param terms The terms converted to a long with {@link Double#doubleToLongBits(double)}.
|
||||||
*/
|
*/
|
||||||
public DoubleScriptFieldTermsQuery(Script script, DoubleScriptFieldScript.LeafFactory leafFactory, String fieldName, LongSet terms) {
|
public DoubleScriptFieldTermsQuery(Script script, DoubleFieldScript.LeafFactory leafFactory, String fieldName, LongSet terms) {
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
this.terms = terms;
|
this.terms = terms;
|
||||||
}
|
}
|
||||||
|
@ -8,10 +8,10 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
|
|
||||||
import org.apache.lucene.util.BytesRef;
|
import org.apache.lucene.util.BytesRef;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.IpScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.IpFieldScript;
|
||||||
|
|
||||||
public class IpScriptFieldExistsQuery extends AbstractIpScriptFieldQuery {
|
public class IpScriptFieldExistsQuery extends AbstractIpScriptFieldQuery {
|
||||||
public IpScriptFieldExistsQuery(Script script, IpScriptFieldScript.LeafFactory leafFactory, String fieldName) {
|
public IpScriptFieldExistsQuery(Script script, IpFieldScript.LeafFactory leafFactory, String fieldName) {
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
import org.apache.lucene.util.BytesRef;
|
import org.apache.lucene.util.BytesRef;
|
||||||
import org.elasticsearch.common.network.InetAddresses;
|
import org.elasticsearch.common.network.InetAddresses;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.IpScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.IpFieldScript;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -18,13 +18,7 @@ public class IpScriptFieldRangeQuery extends AbstractIpScriptFieldQuery {
|
|||||||
private final BytesRef lower;
|
private final BytesRef lower;
|
||||||
private final BytesRef upper;
|
private final BytesRef upper;
|
||||||
|
|
||||||
public IpScriptFieldRangeQuery(
|
public IpScriptFieldRangeQuery(Script script, IpFieldScript.LeafFactory leafFactory, String fieldName, BytesRef lower, BytesRef upper) {
|
||||||
Script script,
|
|
||||||
IpScriptFieldScript.LeafFactory leafFactory,
|
|
||||||
String fieldName,
|
|
||||||
BytesRef lower,
|
|
||||||
BytesRef upper
|
|
||||||
) {
|
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
this.lower = lower;
|
this.lower = lower;
|
||||||
this.upper = upper;
|
this.upper = upper;
|
||||||
|
@ -9,7 +9,7 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
import org.apache.lucene.util.BytesRef;
|
import org.apache.lucene.util.BytesRef;
|
||||||
import org.elasticsearch.common.network.InetAddresses;
|
import org.elasticsearch.common.network.InetAddresses;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.IpScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.IpFieldScript;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -17,7 +17,7 @@ import java.util.Objects;
|
|||||||
public class IpScriptFieldTermQuery extends AbstractIpScriptFieldQuery {
|
public class IpScriptFieldTermQuery extends AbstractIpScriptFieldQuery {
|
||||||
private final BytesRef term;
|
private final BytesRef term;
|
||||||
|
|
||||||
public IpScriptFieldTermQuery(Script script, IpScriptFieldScript.LeafFactory leafFactory, String fieldName, BytesRef term) {
|
public IpScriptFieldTermQuery(Script script, IpFieldScript.LeafFactory leafFactory, String fieldName, BytesRef term) {
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
this.term = term;
|
this.term = term;
|
||||||
}
|
}
|
||||||
|
@ -10,14 +10,14 @@ import org.apache.lucene.util.BytesRef;
|
|||||||
import org.elasticsearch.common.network.InetAddresses;
|
import org.elasticsearch.common.network.InetAddresses;
|
||||||
import org.elasticsearch.common.util.BytesRefHash;
|
import org.elasticsearch.common.util.BytesRefHash;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.IpScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.IpFieldScript;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class IpScriptFieldTermsQuery extends AbstractIpScriptFieldQuery {
|
public class IpScriptFieldTermsQuery extends AbstractIpScriptFieldQuery {
|
||||||
private final BytesRefHash terms;
|
private final BytesRefHash terms;
|
||||||
|
|
||||||
public IpScriptFieldTermsQuery(Script script, IpScriptFieldScript.LeafFactory leafFactory, String fieldName, BytesRefHash terms) {
|
public IpScriptFieldTermsQuery(Script script, IpFieldScript.LeafFactory leafFactory, String fieldName, BytesRefHash terms) {
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
this.terms = terms;
|
this.terms = terms;
|
||||||
}
|
}
|
||||||
|
@ -17,21 +17,21 @@ import org.apache.lucene.search.Scorer;
|
|||||||
import org.apache.lucene.search.TwoPhaseIterator;
|
import org.apache.lucene.search.TwoPhaseIterator;
|
||||||
import org.apache.lucene.search.Weight;
|
import org.apache.lucene.search.Weight;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.AbstractLongScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.AbstractLongFieldScript;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
public final class LongScriptFieldDistanceFeatureQuery extends AbstractScriptFieldQuery<AbstractLongScriptFieldScript> {
|
public final class LongScriptFieldDistanceFeatureQuery extends AbstractScriptFieldQuery<AbstractLongFieldScript> {
|
||||||
private final long origin;
|
private final long origin;
|
||||||
private final long pivot;
|
private final long pivot;
|
||||||
private final float boost;
|
private final float boost;
|
||||||
|
|
||||||
public LongScriptFieldDistanceFeatureQuery(
|
public LongScriptFieldDistanceFeatureQuery(
|
||||||
Script script,
|
Script script,
|
||||||
Function<LeafReaderContext, AbstractLongScriptFieldScript> leafFactory,
|
Function<LeafReaderContext, AbstractLongFieldScript> leafFactory,
|
||||||
String fieldName,
|
String fieldName,
|
||||||
long origin,
|
long origin,
|
||||||
long pivot,
|
long pivot,
|
||||||
@ -44,7 +44,7 @@ public final class LongScriptFieldDistanceFeatureQuery extends AbstractScriptFie
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean matches(AbstractLongScriptFieldScript scriptContext, int docId) {
|
protected boolean matches(AbstractLongFieldScript scriptContext, int docId) {
|
||||||
scriptContext.runForDoc(docId);
|
scriptContext.runForDoc(docId);
|
||||||
return scriptContext.count() > 0;
|
return scriptContext.count() > 0;
|
||||||
}
|
}
|
||||||
@ -67,7 +67,7 @@ public final class LongScriptFieldDistanceFeatureQuery extends AbstractScriptFie
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Explanation explain(LeafReaderContext context, int doc) {
|
public Explanation explain(LeafReaderContext context, int doc) {
|
||||||
AbstractLongScriptFieldScript script = scriptContextFunction().apply(context);
|
AbstractLongFieldScript script = scriptContextFunction().apply(context);
|
||||||
script.runForDoc(doc);
|
script.runForDoc(doc);
|
||||||
long value = valueWithMinAbsoluteDistance(script);
|
long value = valueWithMinAbsoluteDistance(script);
|
||||||
float weight = LongScriptFieldDistanceFeatureQuery.this.boost * boost;
|
float weight = LongScriptFieldDistanceFeatureQuery.this.boost * boost;
|
||||||
@ -85,12 +85,12 @@ public final class LongScriptFieldDistanceFeatureQuery extends AbstractScriptFie
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class DistanceScorer extends Scorer {
|
private class DistanceScorer extends Scorer {
|
||||||
private final AbstractLongScriptFieldScript script;
|
private final AbstractLongFieldScript script;
|
||||||
private final TwoPhaseIterator twoPhase;
|
private final TwoPhaseIterator twoPhase;
|
||||||
private final DocIdSetIterator disi;
|
private final DocIdSetIterator disi;
|
||||||
private final float weight;
|
private final float weight;
|
||||||
|
|
||||||
protected DistanceScorer(Weight weight, AbstractLongScriptFieldScript script, int maxDoc, float boost) {
|
protected DistanceScorer(Weight weight, AbstractLongFieldScript script, int maxDoc, float boost) {
|
||||||
super(weight);
|
super(weight);
|
||||||
this.script = script;
|
this.script = script;
|
||||||
twoPhase = new TwoPhaseIterator(DocIdSetIterator.all(maxDoc)) {
|
twoPhase = new TwoPhaseIterator(DocIdSetIterator.all(maxDoc)) {
|
||||||
@ -137,7 +137,7 @@ public final class LongScriptFieldDistanceFeatureQuery extends AbstractScriptFie
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
long minAbsoluteDistance(AbstractLongScriptFieldScript script) {
|
long minAbsoluteDistance(AbstractLongFieldScript script) {
|
||||||
long minDistance = Long.MAX_VALUE;
|
long minDistance = Long.MAX_VALUE;
|
||||||
for (int i = 0; i < script.count(); i++) {
|
for (int i = 0; i < script.count(); i++) {
|
||||||
minDistance = Math.min(minDistance, distanceFor(script.values()[i]));
|
minDistance = Math.min(minDistance, distanceFor(script.values()[i]));
|
||||||
@ -145,7 +145,7 @@ public final class LongScriptFieldDistanceFeatureQuery extends AbstractScriptFie
|
|||||||
return minDistance;
|
return minDistance;
|
||||||
}
|
}
|
||||||
|
|
||||||
long valueWithMinAbsoluteDistance(AbstractLongScriptFieldScript script) {
|
long valueWithMinAbsoluteDistance(AbstractLongFieldScript script) {
|
||||||
long minDistance = Long.MAX_VALUE;
|
long minDistance = Long.MAX_VALUE;
|
||||||
long minDistanceValue = Long.MAX_VALUE;
|
long minDistanceValue = Long.MAX_VALUE;
|
||||||
for (int i = 0; i < script.count(); i++) {
|
for (int i = 0; i < script.count(); i++) {
|
||||||
|
@ -8,16 +8,12 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
|
|
||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.AbstractLongScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.AbstractLongFieldScript;
|
||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
public class LongScriptFieldExistsQuery extends AbstractLongScriptFieldQuery {
|
public class LongScriptFieldExistsQuery extends AbstractLongScriptFieldQuery {
|
||||||
public LongScriptFieldExistsQuery(
|
public LongScriptFieldExistsQuery(Script script, Function<LeafReaderContext, AbstractLongFieldScript> leafFactory, String fieldName) {
|
||||||
Script script,
|
|
||||||
Function<LeafReaderContext, AbstractLongScriptFieldScript> leafFactory,
|
|
||||||
String fieldName
|
|
||||||
) {
|
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
|
|
||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.AbstractLongScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.AbstractLongFieldScript;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
@ -19,7 +19,7 @@ public class LongScriptFieldRangeQuery extends AbstractLongScriptFieldQuery {
|
|||||||
|
|
||||||
public LongScriptFieldRangeQuery(
|
public LongScriptFieldRangeQuery(
|
||||||
Script script,
|
Script script,
|
||||||
Function<LeafReaderContext, AbstractLongScriptFieldScript> leafFactory,
|
Function<LeafReaderContext, AbstractLongFieldScript> leafFactory,
|
||||||
String fieldName,
|
String fieldName,
|
||||||
long lowerValue,
|
long lowerValue,
|
||||||
long upperValue
|
long upperValue
|
||||||
|
@ -8,7 +8,7 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
|
|
||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.AbstractLongScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.AbstractLongFieldScript;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
@ -18,7 +18,7 @@ public class LongScriptFieldTermQuery extends AbstractLongScriptFieldQuery {
|
|||||||
|
|
||||||
public LongScriptFieldTermQuery(
|
public LongScriptFieldTermQuery(
|
||||||
Script script,
|
Script script,
|
||||||
Function<LeafReaderContext, AbstractLongScriptFieldScript> leafFactory,
|
Function<LeafReaderContext, AbstractLongFieldScript> leafFactory,
|
||||||
String fieldName,
|
String fieldName,
|
||||||
long term
|
long term
|
||||||
) {
|
) {
|
||||||
|
@ -9,7 +9,7 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
import com.carrotsearch.hppc.LongSet;
|
import com.carrotsearch.hppc.LongSet;
|
||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.AbstractLongScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.AbstractLongFieldScript;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
@ -19,7 +19,7 @@ public class LongScriptFieldTermsQuery extends AbstractLongScriptFieldQuery {
|
|||||||
|
|
||||||
public LongScriptFieldTermsQuery(
|
public LongScriptFieldTermsQuery(
|
||||||
Script script,
|
Script script,
|
||||||
Function<LeafReaderContext, AbstractLongScriptFieldScript> leafFactory,
|
Function<LeafReaderContext, AbstractLongFieldScript> leafFactory,
|
||||||
String fieldName,
|
String fieldName,
|
||||||
LongSet terms
|
LongSet terms
|
||||||
) {
|
) {
|
||||||
|
@ -7,12 +7,12 @@
|
|||||||
package org.elasticsearch.xpack.runtimefields.query;
|
package org.elasticsearch.xpack.runtimefields.query;
|
||||||
|
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class StringScriptFieldExistsQuery extends AbstractStringScriptFieldQuery {
|
public class StringScriptFieldExistsQuery extends AbstractStringScriptFieldQuery {
|
||||||
public StringScriptFieldExistsQuery(Script script, StringScriptFieldScript.LeafFactory leafFactory, String fieldName) {
|
public StringScriptFieldExistsQuery(Script script, StringFieldScript.LeafFactory leafFactory, String fieldName) {
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,14 +10,14 @@ import org.apache.lucene.index.Term;
|
|||||||
import org.apache.lucene.search.FuzzyQuery;
|
import org.apache.lucene.search.FuzzyQuery;
|
||||||
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class StringScriptFieldFuzzyQuery extends AbstractStringScriptFieldAutomatonQuery {
|
public class StringScriptFieldFuzzyQuery extends AbstractStringScriptFieldAutomatonQuery {
|
||||||
public static StringScriptFieldFuzzyQuery build(
|
public static StringScriptFieldFuzzyQuery build(
|
||||||
Script script,
|
Script script,
|
||||||
StringScriptFieldScript.LeafFactory leafFactory,
|
StringFieldScript.LeafFactory leafFactory,
|
||||||
String fieldName,
|
String fieldName,
|
||||||
String term,
|
String term,
|
||||||
int maxEdits,
|
int maxEdits,
|
||||||
@ -34,7 +34,7 @@ public class StringScriptFieldFuzzyQuery extends AbstractStringScriptFieldAutoma
|
|||||||
|
|
||||||
private StringScriptFieldFuzzyQuery(
|
private StringScriptFieldFuzzyQuery(
|
||||||
Script script,
|
Script script,
|
||||||
StringScriptFieldScript.LeafFactory leafFactory,
|
StringFieldScript.LeafFactory leafFactory,
|
||||||
String fieldName,
|
String fieldName,
|
||||||
ByteRunAutomaton automaton,
|
ByteRunAutomaton automaton,
|
||||||
FuzzyQuery delegate
|
FuzzyQuery delegate
|
||||||
|
@ -11,7 +11,7 @@ import org.apache.lucene.search.QueryVisitor;
|
|||||||
import org.apache.lucene.util.BytesRef;
|
import org.apache.lucene.util.BytesRef;
|
||||||
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -19,7 +19,7 @@ import java.util.Objects;
|
|||||||
public class StringScriptFieldPrefixQuery extends AbstractStringScriptFieldQuery {
|
public class StringScriptFieldPrefixQuery extends AbstractStringScriptFieldQuery {
|
||||||
private final String prefix;
|
private final String prefix;
|
||||||
|
|
||||||
public StringScriptFieldPrefixQuery(Script script, StringScriptFieldScript.LeafFactory leafFactory, String fieldName, String prefix) {
|
public StringScriptFieldPrefixQuery(Script script, StringFieldScript.LeafFactory leafFactory, String fieldName, String prefix) {
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
this.prefix = Objects.requireNonNull(prefix);
|
this.prefix = Objects.requireNonNull(prefix);
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ import org.apache.lucene.util.BytesRef;
|
|||||||
import org.apache.lucene.util.automaton.Automata;
|
import org.apache.lucene.util.automaton.Automata;
|
||||||
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -24,7 +24,7 @@ public class StringScriptFieldRangeQuery extends AbstractStringScriptFieldQuery
|
|||||||
|
|
||||||
public StringScriptFieldRangeQuery(
|
public StringScriptFieldRangeQuery(
|
||||||
Script script,
|
Script script,
|
||||||
StringScriptFieldScript.LeafFactory leafFactory,
|
StringFieldScript.LeafFactory leafFactory,
|
||||||
String fieldName,
|
String fieldName,
|
||||||
String lowerValue,
|
String lowerValue,
|
||||||
String upperValue,
|
String upperValue,
|
||||||
|
@ -9,7 +9,7 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
||||||
import org.apache.lucene.util.automaton.RegExp;
|
import org.apache.lucene.util.automaton.RegExp;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ public class StringScriptFieldRegexpQuery extends AbstractStringScriptFieldAutom
|
|||||||
|
|
||||||
public StringScriptFieldRegexpQuery(
|
public StringScriptFieldRegexpQuery(
|
||||||
Script script,
|
Script script,
|
||||||
StringScriptFieldScript.LeafFactory leafFactory,
|
StringFieldScript.LeafFactory leafFactory,
|
||||||
String fieldName,
|
String fieldName,
|
||||||
String pattern,
|
String pattern,
|
||||||
int flags,
|
int flags,
|
||||||
|
@ -9,7 +9,7 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
import org.apache.lucene.index.Term;
|
import org.apache.lucene.index.Term;
|
||||||
import org.apache.lucene.search.QueryVisitor;
|
import org.apache.lucene.search.QueryVisitor;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -17,7 +17,7 @@ import java.util.Objects;
|
|||||||
public class StringScriptFieldTermQuery extends AbstractStringScriptFieldQuery {
|
public class StringScriptFieldTermQuery extends AbstractStringScriptFieldQuery {
|
||||||
private final String term;
|
private final String term;
|
||||||
|
|
||||||
public StringScriptFieldTermQuery(Script script, StringScriptFieldScript.LeafFactory leafFactory, String fieldName, String term) {
|
public StringScriptFieldTermQuery(Script script, StringFieldScript.LeafFactory leafFactory, String fieldName, String term) {
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
this.term = Objects.requireNonNull(term);
|
this.term = Objects.requireNonNull(term);
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
import org.apache.lucene.index.Term;
|
import org.apache.lucene.index.Term;
|
||||||
import org.apache.lucene.search.QueryVisitor;
|
import org.apache.lucene.search.QueryVisitor;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -18,12 +18,7 @@ import java.util.Set;
|
|||||||
public class StringScriptFieldTermsQuery extends AbstractStringScriptFieldQuery {
|
public class StringScriptFieldTermsQuery extends AbstractStringScriptFieldQuery {
|
||||||
private final Set<String> terms;
|
private final Set<String> terms;
|
||||||
|
|
||||||
public StringScriptFieldTermsQuery(
|
public StringScriptFieldTermsQuery(Script script, StringFieldScript.LeafFactory leafFactory, String fieldName, Set<String> terms) {
|
||||||
Script script,
|
|
||||||
StringScriptFieldScript.LeafFactory leafFactory,
|
|
||||||
String fieldName,
|
|
||||||
Set<String> terms
|
|
||||||
) {
|
|
||||||
super(script, leafFactory, fieldName);
|
super(script, leafFactory, fieldName);
|
||||||
this.terms = terms;
|
this.terms = terms;
|
||||||
}
|
}
|
||||||
|
@ -10,19 +10,14 @@ import org.apache.lucene.index.Term;
|
|||||||
import org.apache.lucene.search.WildcardQuery;
|
import org.apache.lucene.search.WildcardQuery;
|
||||||
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class StringScriptFieldWildcardQuery extends AbstractStringScriptFieldAutomatonQuery {
|
public class StringScriptFieldWildcardQuery extends AbstractStringScriptFieldAutomatonQuery {
|
||||||
private final String pattern;
|
private final String pattern;
|
||||||
|
|
||||||
public StringScriptFieldWildcardQuery(
|
public StringScriptFieldWildcardQuery(Script script, StringFieldScript.LeafFactory leafFactory, String fieldName, String pattern) {
|
||||||
Script script,
|
|
||||||
StringScriptFieldScript.LeafFactory leafFactory,
|
|
||||||
String fieldName,
|
|
||||||
String pattern
|
|
||||||
) {
|
|
||||||
super(
|
super(
|
||||||
script,
|
script,
|
||||||
leafFactory,
|
leafFactory,
|
||||||
|
@ -1 +1 @@
|
|||||||
org.elasticsearch.xpack.runtimefields.RuntimeFieldsPainlessExtension
|
org.elasticsearch.xpack.runtimefields.mapper.RuntimeFieldsPainlessExtension
|
||||||
|
@ -7,15 +7,15 @@
|
|||||||
# The whitelist for boolean-valued runtime fields
|
# The whitelist for boolean-valued runtime fields
|
||||||
|
|
||||||
# These two whitelists are required for painless to find the classes
|
# These two whitelists are required for painless to find the classes
|
||||||
class org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript @no_import {
|
class org.elasticsearch.xpack.runtimefields.mapper.BooleanFieldScript @no_import {
|
||||||
}
|
}
|
||||||
class org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript$Factory @no_import {
|
class org.elasticsearch.xpack.runtimefields.mapper.BooleanFieldScript$Factory @no_import {
|
||||||
}
|
}
|
||||||
|
|
||||||
static_import {
|
static_import {
|
||||||
# The `emit` callback to collect values for the field
|
# The `emit` callback to collect values for the field
|
||||||
void emit(org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript, boolean) bound_to org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript$Emit
|
void emit(org.elasticsearch.xpack.runtimefields.mapper.BooleanFieldScript, boolean) bound_to org.elasticsearch.xpack.runtimefields.mapper.BooleanFieldScript$Emit
|
||||||
# Parse a value from the source to a boolean
|
# Parse a value from the source to a boolean
|
||||||
boolean parse(def) from_class org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript
|
boolean parse(def) from_class org.elasticsearch.xpack.runtimefields.mapper.BooleanFieldScript
|
||||||
}
|
}
|
||||||
|
|
@ -7,18 +7,18 @@
|
|||||||
# The whitelist for date-valued runtime fields
|
# The whitelist for date-valued runtime fields
|
||||||
|
|
||||||
# These two whitelists are required for painless to find the classes
|
# These two whitelists are required for painless to find the classes
|
||||||
class org.elasticsearch.xpack.runtimefields.DateScriptFieldScript @no_import {
|
class org.elasticsearch.xpack.runtimefields.mapper.DateFieldScript @no_import {
|
||||||
}
|
}
|
||||||
class org.elasticsearch.xpack.runtimefields.DateScriptFieldScript$Factory @no_import {
|
class org.elasticsearch.xpack.runtimefields.mapper.DateFieldScript$Factory @no_import {
|
||||||
}
|
}
|
||||||
|
|
||||||
static_import {
|
static_import {
|
||||||
# The `emit` callback to collect values for the field
|
# The `emit` callback to collect values for the field
|
||||||
void emit(org.elasticsearch.xpack.runtimefields.DateScriptFieldScript, long) bound_to org.elasticsearch.xpack.runtimefields.DateScriptFieldScript$Emit
|
void emit(org.elasticsearch.xpack.runtimefields.mapper.DateFieldScript, long) bound_to org.elasticsearch.xpack.runtimefields.mapper.DateFieldScript$Emit
|
||||||
# Parse a value from the source to millis since epoch
|
# Parse a value from the source to millis since epoch
|
||||||
long parse(org.elasticsearch.xpack.runtimefields.DateScriptFieldScript, def) bound_to org.elasticsearch.xpack.runtimefields.DateScriptFieldScript$Parse
|
long parse(org.elasticsearch.xpack.runtimefields.mapper.DateFieldScript, def) bound_to org.elasticsearch.xpack.runtimefields.mapper.DateFieldScript$Parse
|
||||||
# Add an easy method to convert temporalAccessors to millis since epoch.
|
# Add an easy method to convert temporalAccessors to millis since epoch.
|
||||||
long toEpochMilli(java.time.temporal.TemporalAccessor) from_class org.elasticsearch.xpack.runtimefields.DateScriptFieldScript
|
long toEpochMilli(java.time.temporal.TemporalAccessor) from_class org.elasticsearch.xpack.runtimefields.mapper.DateFieldScript
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -7,13 +7,13 @@
|
|||||||
# The whitelist for double-valued runtime fields
|
# The whitelist for double-valued runtime fields
|
||||||
|
|
||||||
# These two whitelists are required for painless to find the classes
|
# These two whitelists are required for painless to find the classes
|
||||||
class org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript @no_import {
|
class org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript @no_import {
|
||||||
}
|
}
|
||||||
class org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript$Factory @no_import {
|
class org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript$Factory @no_import {
|
||||||
}
|
}
|
||||||
|
|
||||||
static_import {
|
static_import {
|
||||||
# The `emit` callback to collect values for the field
|
# The `emit` callback to collect values for the field
|
||||||
void emit(org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript, double) bound_to org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript$Emit
|
void emit(org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript, double) bound_to org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript$Emit
|
||||||
}
|
}
|
||||||
|
|
@ -7,12 +7,12 @@
|
|||||||
# The whitelist for ip-valued runtime fields
|
# The whitelist for ip-valued runtime fields
|
||||||
|
|
||||||
# These two whitelists are required for painless to find the classes
|
# These two whitelists are required for painless to find the classes
|
||||||
class org.elasticsearch.xpack.runtimefields.IpScriptFieldScript @no_import {
|
class org.elasticsearch.xpack.runtimefields.mapper.IpFieldScript @no_import {
|
||||||
}
|
}
|
||||||
class org.elasticsearch.xpack.runtimefields.IpScriptFieldScript$Factory @no_import {
|
class org.elasticsearch.xpack.runtimefields.mapper.IpFieldScript$Factory @no_import {
|
||||||
}
|
}
|
||||||
|
|
||||||
static_import {
|
static_import {
|
||||||
# The `emit` callback to collect values for the field
|
# The `emit` callback to collect values for the field
|
||||||
void emit(org.elasticsearch.xpack.runtimefields.IpScriptFieldScript, String) bound_to org.elasticsearch.xpack.runtimefields.IpScriptFieldScript$Emit
|
void emit(org.elasticsearch.xpack.runtimefields.mapper.IpFieldScript, String) bound_to org.elasticsearch.xpack.runtimefields.mapper.IpFieldScript$Emit
|
||||||
}
|
}
|
@ -7,12 +7,12 @@
|
|||||||
# The whitelist for long-valued runtime fields
|
# The whitelist for long-valued runtime fields
|
||||||
|
|
||||||
# These two whitelists are required for painless to find the classes
|
# These two whitelists are required for painless to find the classes
|
||||||
class org.elasticsearch.xpack.runtimefields.LongScriptFieldScript @no_import {
|
class org.elasticsearch.xpack.runtimefields.mapper.LongFieldScript @no_import {
|
||||||
}
|
}
|
||||||
class org.elasticsearch.xpack.runtimefields.LongScriptFieldScript$Factory @no_import {
|
class org.elasticsearch.xpack.runtimefields.mapper.LongFieldScript$Factory @no_import {
|
||||||
}
|
}
|
||||||
|
|
||||||
static_import {
|
static_import {
|
||||||
# The `emit` callback to collect values for the field
|
# The `emit` callback to collect values for the field
|
||||||
void emit(org.elasticsearch.xpack.runtimefields.LongScriptFieldScript, long) bound_to org.elasticsearch.xpack.runtimefields.LongScriptFieldScript$Emit
|
void emit(org.elasticsearch.xpack.runtimefields.mapper.LongFieldScript, long) bound_to org.elasticsearch.xpack.runtimefields.mapper.LongFieldScript$Emit
|
||||||
}
|
}
|
@ -7,12 +7,12 @@
|
|||||||
# The whitelist for string-valued runtime fields
|
# The whitelist for string-valued runtime fields
|
||||||
|
|
||||||
# These two whitelists are required for painless to find the classes
|
# These two whitelists are required for painless to find the classes
|
||||||
class org.elasticsearch.xpack.runtimefields.StringScriptFieldScript @no_import {
|
class org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript @no_import {
|
||||||
}
|
}
|
||||||
class org.elasticsearch.xpack.runtimefields.StringScriptFieldScript$Factory @no_import {
|
class org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript$Factory @no_import {
|
||||||
}
|
}
|
||||||
|
|
||||||
static_import {
|
static_import {
|
||||||
# The `emit` callback to collect values for the field
|
# The `emit` callback to collect values for the field
|
||||||
void emit(org.elasticsearch.xpack.runtimefields.StringScriptFieldScript, String) bound_to org.elasticsearch.xpack.runtimefields.StringScriptFieldScript$Emit
|
void emit(org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript, String) bound_to org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript$Emit
|
||||||
}
|
}
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.document.StoredField;
|
import org.apache.lucene.document.StoredField;
|
||||||
import org.apache.lucene.index.DirectoryReader;
|
import org.apache.lucene.index.DirectoryReader;
|
||||||
@ -19,8 +19,8 @@ import java.io.IOException;
|
|||||||
|
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
public class BooleanScriptFieldScriptTests extends ScriptFieldScriptTestCase<BooleanScriptFieldScript.Factory> {
|
public class BooleanFieldScriptTests extends FieldScriptTestCase<BooleanFieldScript.Factory> {
|
||||||
public static final BooleanScriptFieldScript.Factory DUMMY = (fieldName, params, lookup) -> ctx -> new BooleanScriptFieldScript(
|
public static final BooleanFieldScript.Factory DUMMY = (fieldName, params, lookup) -> ctx -> new BooleanFieldScript(
|
||||||
fieldName,
|
fieldName,
|
||||||
params,
|
params,
|
||||||
lookup,
|
lookup,
|
||||||
@ -33,12 +33,12 @@ public class BooleanScriptFieldScriptTests extends ScriptFieldScriptTestCase<Boo
|
|||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ScriptContext<BooleanScriptFieldScript.Factory> context() {
|
protected ScriptContext<BooleanFieldScript.Factory> context() {
|
||||||
return BooleanScriptFieldScript.CONTEXT;
|
return BooleanFieldScript.CONTEXT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BooleanScriptFieldScript.Factory dummyScript() {
|
protected BooleanFieldScript.Factory dummyScript() {
|
||||||
return DUMMY;
|
return DUMMY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ public class BooleanScriptFieldScriptTests extends ScriptFieldScriptTestCase<Boo
|
|||||||
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
||||||
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
||||||
try (DirectoryReader reader = iw.getReader()) {
|
try (DirectoryReader reader = iw.getReader()) {
|
||||||
BooleanScriptFieldScript script = new BooleanScriptFieldScript(
|
BooleanFieldScript script = new BooleanFieldScript(
|
||||||
"test",
|
"test",
|
||||||
org.elasticsearch.common.collect.Map.of(),
|
org.elasticsearch.common.collect.Map.of(),
|
||||||
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
||||||
@ -54,7 +54,7 @@ public class BooleanScriptFieldScriptTests extends ScriptFieldScriptTestCase<Boo
|
|||||||
) {
|
) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (int i = 0; i <= AbstractScriptFieldScript.MAX_VALUES * 1000; i++) {
|
for (int i = 0; i <= AbstractFieldScript.MAX_VALUES * 1000; i++) {
|
||||||
emit(i % 2 == 0);
|
emit(i % 2 == 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.document.StoredField;
|
import org.apache.lucene.document.StoredField;
|
||||||
import org.apache.lucene.index.DirectoryReader;
|
import org.apache.lucene.index.DirectoryReader;
|
||||||
@ -21,8 +21,8 @@ import java.io.IOException;
|
|||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
public class DateScriptFieldScriptTests extends ScriptFieldScriptTestCase<DateScriptFieldScript.Factory> {
|
public class DateFieldScriptTests extends FieldScriptTestCase<DateFieldScript.Factory> {
|
||||||
public static final DateScriptFieldScript.Factory DUMMY = (fieldName, params, lookup, formatter) -> ctx -> new DateScriptFieldScript(
|
public static final DateFieldScript.Factory DUMMY = (fieldName, params, lookup, formatter) -> ctx -> new DateFieldScript(
|
||||||
fieldName,
|
fieldName,
|
||||||
params,
|
params,
|
||||||
lookup,
|
lookup,
|
||||||
@ -36,12 +36,12 @@ public class DateScriptFieldScriptTests extends ScriptFieldScriptTestCase<DateSc
|
|||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ScriptContext<DateScriptFieldScript.Factory> context() {
|
protected ScriptContext<DateFieldScript.Factory> context() {
|
||||||
return DateScriptFieldScript.CONTEXT;
|
return DateFieldScript.CONTEXT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected DateScriptFieldScript.Factory dummyScript() {
|
protected DateFieldScript.Factory dummyScript() {
|
||||||
return DUMMY;
|
return DUMMY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ public class DateScriptFieldScriptTests extends ScriptFieldScriptTestCase<DateSc
|
|||||||
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
||||||
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
||||||
try (DirectoryReader reader = iw.getReader()) {
|
try (DirectoryReader reader = iw.getReader()) {
|
||||||
DateScriptFieldScript script = new DateScriptFieldScript(
|
DateFieldScript script = new DateFieldScript(
|
||||||
"test",
|
"test",
|
||||||
org.elasticsearch.common.collect.Map.of(),
|
org.elasticsearch.common.collect.Map.of(),
|
||||||
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
||||||
@ -58,7 +58,7 @@ public class DateScriptFieldScriptTests extends ScriptFieldScriptTestCase<DateSc
|
|||||||
) {
|
) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (int i = 0; i <= AbstractScriptFieldScript.MAX_VALUES; i++) {
|
for (int i = 0; i <= AbstractFieldScript.MAX_VALUES; i++) {
|
||||||
emit(0);
|
emit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.document.StoredField;
|
import org.apache.lucene.document.StoredField;
|
||||||
import org.apache.lucene.index.DirectoryReader;
|
import org.apache.lucene.index.DirectoryReader;
|
||||||
@ -20,8 +20,8 @@ import java.io.IOException;
|
|||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
public class DoubleScriptFieldScriptTests extends ScriptFieldScriptTestCase<DoubleScriptFieldScript.Factory> {
|
public class DoubleFieldScriptTests extends FieldScriptTestCase<DoubleFieldScript.Factory> {
|
||||||
public static final DoubleScriptFieldScript.Factory DUMMY = (fieldName, params, lookup) -> ctx -> new DoubleScriptFieldScript(
|
public static final DoubleFieldScript.Factory DUMMY = (fieldName, params, lookup) -> ctx -> new DoubleFieldScript(
|
||||||
fieldName,
|
fieldName,
|
||||||
params,
|
params,
|
||||||
lookup,
|
lookup,
|
||||||
@ -34,12 +34,12 @@ public class DoubleScriptFieldScriptTests extends ScriptFieldScriptTestCase<Doub
|
|||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ScriptContext<DoubleScriptFieldScript.Factory> context() {
|
protected ScriptContext<DoubleFieldScript.Factory> context() {
|
||||||
return DoubleScriptFieldScript.CONTEXT;
|
return DoubleFieldScript.CONTEXT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected DoubleScriptFieldScript.Factory dummyScript() {
|
protected DoubleFieldScript.Factory dummyScript() {
|
||||||
return DUMMY;
|
return DUMMY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ public class DoubleScriptFieldScriptTests extends ScriptFieldScriptTestCase<Doub
|
|||||||
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
||||||
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
||||||
try (DirectoryReader reader = iw.getReader()) {
|
try (DirectoryReader reader = iw.getReader()) {
|
||||||
DoubleScriptFieldScript script = new DoubleScriptFieldScript(
|
DoubleFieldScript script = new DoubleFieldScript(
|
||||||
"test",
|
"test",
|
||||||
org.elasticsearch.common.collect.Map.of(),
|
org.elasticsearch.common.collect.Map.of(),
|
||||||
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
||||||
@ -55,7 +55,7 @@ public class DoubleScriptFieldScriptTests extends ScriptFieldScriptTestCase<Doub
|
|||||||
) {
|
) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (int i = 0; i <= AbstractScriptFieldScript.MAX_VALUES; i++) {
|
for (int i = 0; i <= AbstractFieldScript.MAX_VALUES; i++) {
|
||||||
emit(1.0);
|
emit(1.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.script.ScriptContext;
|
import org.elasticsearch.script.ScriptContext;
|
||||||
@ -15,7 +15,7 @@ import org.elasticsearch.test.ESTestCase;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
public abstract class ScriptFieldScriptTestCase<T> extends ESTestCase {
|
public abstract class FieldScriptTestCase<T> extends ESTestCase {
|
||||||
protected abstract ScriptContext<T> context();
|
protected abstract ScriptContext<T> context();
|
||||||
|
|
||||||
protected abstract T dummyScript();
|
protected abstract T dummyScript();
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.document.StoredField;
|
import org.apache.lucene.document.StoredField;
|
||||||
import org.apache.lucene.index.DirectoryReader;
|
import org.apache.lucene.index.DirectoryReader;
|
||||||
@ -20,8 +20,8 @@ import java.io.IOException;
|
|||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
public class IpScriptFieldScriptTests extends ScriptFieldScriptTestCase<IpScriptFieldScript.Factory> {
|
public class IpFieldScriptTests extends FieldScriptTestCase<IpFieldScript.Factory> {
|
||||||
public static final IpScriptFieldScript.Factory DUMMY = (fieldName, params, lookup) -> ctx -> new IpScriptFieldScript(
|
public static final IpFieldScript.Factory DUMMY = (fieldName, params, lookup) -> ctx -> new IpFieldScript(
|
||||||
fieldName,
|
fieldName,
|
||||||
params,
|
params,
|
||||||
lookup,
|
lookup,
|
||||||
@ -34,12 +34,12 @@ public class IpScriptFieldScriptTests extends ScriptFieldScriptTestCase<IpScript
|
|||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ScriptContext<IpScriptFieldScript.Factory> context() {
|
protected ScriptContext<IpFieldScript.Factory> context() {
|
||||||
return IpScriptFieldScript.CONTEXT;
|
return IpFieldScript.CONTEXT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected IpScriptFieldScript.Factory dummyScript() {
|
protected IpFieldScript.Factory dummyScript() {
|
||||||
return DUMMY;
|
return DUMMY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ public class IpScriptFieldScriptTests extends ScriptFieldScriptTestCase<IpScript
|
|||||||
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
||||||
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
||||||
try (DirectoryReader reader = iw.getReader()) {
|
try (DirectoryReader reader = iw.getReader()) {
|
||||||
IpScriptFieldScript script = new IpScriptFieldScript(
|
IpFieldScript script = new IpFieldScript(
|
||||||
"test",
|
"test",
|
||||||
org.elasticsearch.common.collect.Map.of(),
|
org.elasticsearch.common.collect.Map.of(),
|
||||||
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
||||||
@ -55,7 +55,7 @@ public class IpScriptFieldScriptTests extends ScriptFieldScriptTestCase<IpScript
|
|||||||
) {
|
) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (int i = 0; i <= AbstractScriptFieldScript.MAX_VALUES; i++) {
|
for (int i = 0; i <= AbstractFieldScript.MAX_VALUES; i++) {
|
||||||
emit("192.168.0.1");
|
emit("192.168.0.1");
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.document.StoredField;
|
import org.apache.lucene.document.StoredField;
|
||||||
import org.apache.lucene.index.DirectoryReader;
|
import org.apache.lucene.index.DirectoryReader;
|
||||||
@ -20,8 +20,8 @@ import java.io.IOException;
|
|||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
public class LongScriptFieldScriptTests extends ScriptFieldScriptTestCase<LongScriptFieldScript.Factory> {
|
public class LongFieldScriptTests extends FieldScriptTestCase<LongFieldScript.Factory> {
|
||||||
public static final LongScriptFieldScript.Factory DUMMY = (fieldName, params, lookup) -> ctx -> new LongScriptFieldScript(
|
public static final LongFieldScript.Factory DUMMY = (fieldName, params, lookup) -> ctx -> new LongFieldScript(
|
||||||
fieldName,
|
fieldName,
|
||||||
params,
|
params,
|
||||||
lookup,
|
lookup,
|
||||||
@ -34,12 +34,12 @@ public class LongScriptFieldScriptTests extends ScriptFieldScriptTestCase<LongSc
|
|||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ScriptContext<LongScriptFieldScript.Factory> context() {
|
protected ScriptContext<LongFieldScript.Factory> context() {
|
||||||
return LongScriptFieldScript.CONTEXT;
|
return LongFieldScript.CONTEXT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected LongScriptFieldScript.Factory dummyScript() {
|
protected LongFieldScript.Factory dummyScript() {
|
||||||
return DUMMY;
|
return DUMMY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ public class LongScriptFieldScriptTests extends ScriptFieldScriptTestCase<LongSc
|
|||||||
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
||||||
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
||||||
try (DirectoryReader reader = iw.getReader()) {
|
try (DirectoryReader reader = iw.getReader()) {
|
||||||
LongScriptFieldScript script = new LongScriptFieldScript(
|
LongFieldScript script = new LongFieldScript(
|
||||||
"test",
|
"test",
|
||||||
org.elasticsearch.common.collect.Map.of(),
|
org.elasticsearch.common.collect.Map.of(),
|
||||||
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
||||||
@ -55,7 +55,7 @@ public class LongScriptFieldScriptTests extends ScriptFieldScriptTestCase<LongSc
|
|||||||
) {
|
) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (int i = 0; i <= AbstractScriptFieldScript.MAX_VALUES; i++) {
|
for (int i = 0; i <= AbstractFieldScript.MAX_VALUES; i++) {
|
||||||
emit(0);
|
emit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -29,20 +29,7 @@ import org.elasticsearch.plugins.ScriptPlugin;
|
|||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.script.ScriptContext;
|
import org.elasticsearch.script.ScriptContext;
|
||||||
import org.elasticsearch.script.ScriptEngine;
|
import org.elasticsearch.script.ScriptEngine;
|
||||||
import org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScriptTests;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.DateScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.DateScriptFieldScriptTests;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScriptTests;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.IpScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.IpScriptFieldScriptTests;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.LongScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.LongScriptFieldScriptTests;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScriptTests;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.TestScriptEngine;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -320,7 +307,7 @@ public class RuntimeFieldMapperTests extends MapperTestCase {
|
|||||||
field -> new ScriptKeywordMappedFieldType(
|
field -> new ScriptKeywordMappedFieldType(
|
||||||
field,
|
field,
|
||||||
new Script(""),
|
new Script(""),
|
||||||
mock(StringScriptFieldScript.Factory.class),
|
mock(StringFieldScript.Factory.class),
|
||||||
Collections.emptyMap()
|
Collections.emptyMap()
|
||||||
),
|
),
|
||||||
(fieldType, searchLookupSupplier) -> indexFieldDataService.getForField(fieldType, "index", searchLookupSupplier)
|
(fieldType, searchLookupSupplier) -> indexFieldDataService.getForField(fieldType, "index", searchLookupSupplier)
|
||||||
@ -372,35 +359,35 @@ public class RuntimeFieldMapperTests extends MapperTestCase {
|
|||||||
return new TestScriptEngine() {
|
return new TestScriptEngine() {
|
||||||
@Override
|
@Override
|
||||||
protected Object buildScriptFactory(ScriptContext<?> context) {
|
protected Object buildScriptFactory(ScriptContext<?> context) {
|
||||||
if (context == BooleanScriptFieldScript.CONTEXT) {
|
if (context == BooleanFieldScript.CONTEXT) {
|
||||||
return BooleanScriptFieldScriptTests.DUMMY;
|
return BooleanFieldScriptTests.DUMMY;
|
||||||
}
|
}
|
||||||
if (context == DateScriptFieldScript.CONTEXT) {
|
if (context == DateFieldScript.CONTEXT) {
|
||||||
return DateScriptFieldScriptTests.DUMMY;
|
return DateFieldScriptTests.DUMMY;
|
||||||
}
|
}
|
||||||
if (context == DoubleScriptFieldScript.CONTEXT) {
|
if (context == DoubleFieldScript.CONTEXT) {
|
||||||
return DoubleScriptFieldScriptTests.DUMMY;
|
return DoubleFieldScriptTests.DUMMY;
|
||||||
}
|
}
|
||||||
if (context == IpScriptFieldScript.CONTEXT) {
|
if (context == IpFieldScript.CONTEXT) {
|
||||||
return IpScriptFieldScriptTests.DUMMY;
|
return IpFieldScriptTests.DUMMY;
|
||||||
}
|
}
|
||||||
if (context == LongScriptFieldScript.CONTEXT) {
|
if (context == LongFieldScript.CONTEXT) {
|
||||||
return LongScriptFieldScriptTests.DUMMY;
|
return LongFieldScriptTests.DUMMY;
|
||||||
}
|
}
|
||||||
if (context == StringScriptFieldScript.CONTEXT) {
|
if (context == StringFieldScript.CONTEXT) {
|
||||||
return StringScriptFieldScriptTests.DUMMY;
|
return StringFieldScriptTests.DUMMY;
|
||||||
}
|
}
|
||||||
throw new IllegalArgumentException("Unsupported context: " + context);
|
throw new IllegalArgumentException("Unsupported context: " + context);
|
||||||
};
|
};
|
||||||
|
|
||||||
public Set<ScriptContext<?>> getSupportedContexts() {
|
public Set<ScriptContext<?>> getSupportedContexts() {
|
||||||
return org.elasticsearch.common.collect.Set.of(
|
return org.elasticsearch.common.collect.Set.of(
|
||||||
BooleanScriptFieldScript.CONTEXT,
|
BooleanFieldScript.CONTEXT,
|
||||||
DateScriptFieldScript.CONTEXT,
|
DateFieldScript.CONTEXT,
|
||||||
DoubleScriptFieldScript.CONTEXT,
|
DoubleFieldScript.CONTEXT,
|
||||||
IpScriptFieldScript.CONTEXT,
|
IpFieldScript.CONTEXT,
|
||||||
StringScriptFieldScript.CONTEXT,
|
StringFieldScript.CONTEXT,
|
||||||
LongScriptFieldScript.CONTEXT
|
LongFieldScript.CONTEXT
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -49,8 +49,6 @@ import org.elasticsearch.script.ScriptService;
|
|||||||
import org.elasticsearch.script.ScriptType;
|
import org.elasticsearch.script.ScriptType;
|
||||||
import org.elasticsearch.search.MultiValueMode;
|
import org.elasticsearch.search.MultiValueMode;
|
||||||
import org.elasticsearch.test.ESTestCase;
|
import org.elasticsearch.test.ESTestCase;
|
||||||
import org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptBooleanFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptBooleanFieldData;
|
||||||
|
|
||||||
@ -468,7 +466,7 @@ public class ScriptBooleanMappedFieldTypeTests extends AbstractNonTextScriptMapp
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<ScriptContext<?>> getSupportedContexts() {
|
public Set<ScriptContext<?>> getSupportedContexts() {
|
||||||
return org.elasticsearch.common.collect.Set.of(DoubleScriptFieldScript.CONTEXT);
|
return org.elasticsearch.common.collect.Set.of(DoubleFieldScript.CONTEXT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -483,15 +481,10 @@ public class ScriptBooleanMappedFieldTypeTests extends AbstractNonTextScriptMapp
|
|||||||
return factory;
|
return factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
private BooleanScriptFieldScript.Factory factory(String code) {
|
private BooleanFieldScript.Factory factory(String code) {
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case "read_foo":
|
case "read_foo":
|
||||||
return (fieldName, params, lookup) -> (ctx) -> new BooleanScriptFieldScript(
|
return (fieldName, params, lookup) -> (ctx) -> new BooleanFieldScript(fieldName, params, lookup, ctx) {
|
||||||
fieldName,
|
|
||||||
params,
|
|
||||||
lookup,
|
|
||||||
ctx
|
|
||||||
) {
|
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (Object foo : (List<?>) getSource().get("foo")) {
|
for (Object foo : (List<?>) getSource().get("foo")) {
|
||||||
@ -500,12 +493,7 @@ public class ScriptBooleanMappedFieldTypeTests extends AbstractNonTextScriptMapp
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
case "xor_param":
|
case "xor_param":
|
||||||
return (fieldName, params, lookup) -> (ctx) -> new BooleanScriptFieldScript(
|
return (fieldName, params, lookup) -> (ctx) -> new BooleanFieldScript(fieldName, params, lookup, ctx) {
|
||||||
fieldName,
|
|
||||||
params,
|
|
||||||
lookup,
|
|
||||||
ctx
|
|
||||||
) {
|
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (Object foo : (List<?>) getSource().get("foo")) {
|
for (Object foo : (List<?>) getSource().get("foo")) {
|
||||||
@ -531,7 +519,7 @@ public class ScriptBooleanMappedFieldTypeTests extends AbstractNonTextScriptMapp
|
|||||||
org.elasticsearch.common.collect.List.of(scriptPlugin, new RuntimeFields())
|
org.elasticsearch.common.collect.List.of(scriptPlugin, new RuntimeFields())
|
||||||
);
|
);
|
||||||
try (ScriptService scriptService = new ScriptService(Settings.EMPTY, scriptModule.engines, scriptModule.contexts)) {
|
try (ScriptService scriptService = new ScriptService(Settings.EMPTY, scriptModule.engines, scriptModule.contexts)) {
|
||||||
BooleanScriptFieldScript.Factory factory = scriptService.compile(script, BooleanScriptFieldScript.CONTEXT);
|
BooleanFieldScript.Factory factory = scriptService.compile(script, BooleanFieldScript.CONTEXT);
|
||||||
return new ScriptBooleanMappedFieldType("test", script, factory, emptyMap());
|
return new ScriptBooleanMappedFieldType("test", script, factory, emptyMap());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,6 @@ import org.elasticsearch.script.ScriptModule;
|
|||||||
import org.elasticsearch.script.ScriptService;
|
import org.elasticsearch.script.ScriptService;
|
||||||
import org.elasticsearch.script.ScriptType;
|
import org.elasticsearch.script.ScriptType;
|
||||||
import org.elasticsearch.search.MultiValueMode;
|
import org.elasticsearch.search.MultiValueMode;
|
||||||
import org.elasticsearch.xpack.runtimefields.DateScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptDateFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptDateFieldData;
|
||||||
|
|
||||||
@ -497,7 +496,7 @@ public class ScriptDateMappedFieldTypeTests extends AbstractNonTextScriptMappedF
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<ScriptContext<?>> getSupportedContexts() {
|
public Set<ScriptContext<?>> getSupportedContexts() {
|
||||||
return org.elasticsearch.common.collect.Set.of(DateScriptFieldScript.CONTEXT);
|
return org.elasticsearch.common.collect.Set.of(DateFieldScript.CONTEXT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -512,10 +511,10 @@ public class ScriptDateMappedFieldTypeTests extends AbstractNonTextScriptMappedF
|
|||||||
return factory;
|
return factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
private DateScriptFieldScript.Factory factory(String code) {
|
private DateFieldScript.Factory factory(String code) {
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case "read_timestamp":
|
case "read_timestamp":
|
||||||
return (fieldName, params, lookup, formatter) -> ctx -> new DateScriptFieldScript(
|
return (fieldName, params, lookup, formatter) -> ctx -> new DateFieldScript(
|
||||||
fieldName,
|
fieldName,
|
||||||
params,
|
params,
|
||||||
lookup,
|
lookup,
|
||||||
@ -525,13 +524,13 @@ public class ScriptDateMappedFieldTypeTests extends AbstractNonTextScriptMappedF
|
|||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (Object timestamp : (List<?>) getSource().get("timestamp")) {
|
for (Object timestamp : (List<?>) getSource().get("timestamp")) {
|
||||||
DateScriptFieldScript.Parse parse = new DateScriptFieldScript.Parse(this);
|
DateFieldScript.Parse parse = new DateFieldScript.Parse(this);
|
||||||
emit(parse.parse(timestamp));
|
emit(parse.parse(timestamp));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
case "add_days":
|
case "add_days":
|
||||||
return (fieldName, params, lookup, formatter) -> ctx -> new DateScriptFieldScript(
|
return (fieldName, params, lookup, formatter) -> ctx -> new DateFieldScript(
|
||||||
fieldName,
|
fieldName,
|
||||||
params,
|
params,
|
||||||
lookup,
|
lookup,
|
||||||
@ -566,7 +565,7 @@ public class ScriptDateMappedFieldTypeTests extends AbstractNonTextScriptMappedF
|
|||||||
org.elasticsearch.common.collect.List.of(scriptPlugin, new RuntimeFields())
|
org.elasticsearch.common.collect.List.of(scriptPlugin, new RuntimeFields())
|
||||||
);
|
);
|
||||||
try (ScriptService scriptService = new ScriptService(Settings.EMPTY, scriptModule.engines, scriptModule.contexts)) {
|
try (ScriptService scriptService = new ScriptService(Settings.EMPTY, scriptModule.engines, scriptModule.contexts)) {
|
||||||
DateScriptFieldScript.Factory factory = scriptService.compile(script, DateScriptFieldScript.CONTEXT);
|
DateFieldScript.Factory factory = scriptService.compile(script, DateFieldScript.CONTEXT);
|
||||||
return new ScriptDateMappedFieldType("test", script, factory, dateTimeFormatter, emptyMap());
|
return new ScriptDateMappedFieldType("test", script, factory, dateTimeFormatter, emptyMap());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,6 @@ import org.elasticsearch.script.ScriptModule;
|
|||||||
import org.elasticsearch.script.ScriptService;
|
import org.elasticsearch.script.ScriptService;
|
||||||
import org.elasticsearch.script.ScriptType;
|
import org.elasticsearch.script.ScriptType;
|
||||||
import org.elasticsearch.search.MultiValueMode;
|
import org.elasticsearch.search.MultiValueMode;
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptDoubleFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptDoubleFieldData;
|
||||||
|
|
||||||
@ -276,7 +275,7 @@ public class ScriptDoubleMappedFieldTypeTests extends AbstractNonTextScriptMappe
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<ScriptContext<?>> getSupportedContexts() {
|
public Set<ScriptContext<?>> getSupportedContexts() {
|
||||||
return org.elasticsearch.common.collect.Set.of(DoubleScriptFieldScript.CONTEXT);
|
return org.elasticsearch.common.collect.Set.of(DoubleFieldScript.CONTEXT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -291,10 +290,10 @@ public class ScriptDoubleMappedFieldTypeTests extends AbstractNonTextScriptMappe
|
|||||||
return factory;
|
return factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
private DoubleScriptFieldScript.Factory factory(String code) {
|
private DoubleFieldScript.Factory factory(String code) {
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case "read_foo":
|
case "read_foo":
|
||||||
return (fieldName, params, lookup) -> (ctx) -> new DoubleScriptFieldScript(fieldName, params, lookup, ctx) {
|
return (fieldName, params, lookup) -> (ctx) -> new DoubleFieldScript(fieldName, params, lookup, ctx) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (Object foo : (List<?>) getSource().get("foo")) {
|
for (Object foo : (List<?>) getSource().get("foo")) {
|
||||||
@ -303,7 +302,7 @@ public class ScriptDoubleMappedFieldTypeTests extends AbstractNonTextScriptMappe
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
case "add_param":
|
case "add_param":
|
||||||
return (fieldName, params, lookup) -> (ctx) -> new DoubleScriptFieldScript(fieldName, params, lookup, ctx) {
|
return (fieldName, params, lookup) -> (ctx) -> new DoubleFieldScript(fieldName, params, lookup, ctx) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (Object foo : (List<?>) getSource().get("foo")) {
|
for (Object foo : (List<?>) getSource().get("foo")) {
|
||||||
@ -329,7 +328,7 @@ public class ScriptDoubleMappedFieldTypeTests extends AbstractNonTextScriptMappe
|
|||||||
org.elasticsearch.common.collect.List.of(scriptPlugin, new RuntimeFields())
|
org.elasticsearch.common.collect.List.of(scriptPlugin, new RuntimeFields())
|
||||||
);
|
);
|
||||||
try (ScriptService scriptService = new ScriptService(Settings.EMPTY, scriptModule.engines, scriptModule.contexts)) {
|
try (ScriptService scriptService = new ScriptService(Settings.EMPTY, scriptModule.engines, scriptModule.contexts)) {
|
||||||
DoubleScriptFieldScript.Factory factory = scriptService.compile(script, DoubleScriptFieldScript.CONTEXT);
|
DoubleFieldScript.Factory factory = scriptService.compile(script, DoubleFieldScript.CONTEXT);
|
||||||
return new ScriptDoubleMappedFieldType("test", script, factory, emptyMap());
|
return new ScriptDoubleMappedFieldType("test", script, factory, emptyMap());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,9 +38,7 @@ import org.elasticsearch.script.ScriptService;
|
|||||||
import org.elasticsearch.script.ScriptType;
|
import org.elasticsearch.script.ScriptType;
|
||||||
import org.elasticsearch.search.DocValueFormat;
|
import org.elasticsearch.search.DocValueFormat;
|
||||||
import org.elasticsearch.search.MultiValueMode;
|
import org.elasticsearch.search.MultiValueMode;
|
||||||
import org.elasticsearch.xpack.runtimefields.IpScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptBinaryFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptBinaryFieldData;
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptIpFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptIpFieldData;
|
||||||
|
|
||||||
@ -320,7 +318,7 @@ public class ScriptIpMappedFieldTypeTests extends AbstractScriptMappedFieldTypeT
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<ScriptContext<?>> getSupportedContexts() {
|
public Set<ScriptContext<?>> getSupportedContexts() {
|
||||||
return org.elasticsearch.common.collect.Set.of(StringScriptFieldScript.CONTEXT);
|
return org.elasticsearch.common.collect.Set.of(StringFieldScript.CONTEXT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -335,10 +333,10 @@ public class ScriptIpMappedFieldTypeTests extends AbstractScriptMappedFieldTypeT
|
|||||||
return factory;
|
return factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IpScriptFieldScript.Factory factory(String code) {
|
private IpFieldScript.Factory factory(String code) {
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case "read_foo":
|
case "read_foo":
|
||||||
return (fieldName, params, lookup) -> (ctx) -> new IpScriptFieldScript(fieldName, params, lookup, ctx) {
|
return (fieldName, params, lookup) -> (ctx) -> new IpFieldScript(fieldName, params, lookup, ctx) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (Object foo : (List<?>) getSource().get("foo")) {
|
for (Object foo : (List<?>) getSource().get("foo")) {
|
||||||
@ -347,7 +345,7 @@ public class ScriptIpMappedFieldTypeTests extends AbstractScriptMappedFieldTypeT
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
case "append_param":
|
case "append_param":
|
||||||
return (fieldName, params, lookup) -> (ctx) -> new IpScriptFieldScript(fieldName, params, lookup, ctx) {
|
return (fieldName, params, lookup) -> (ctx) -> new IpFieldScript(fieldName, params, lookup, ctx) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (Object foo : (List<?>) getSource().get("foo")) {
|
for (Object foo : (List<?>) getSource().get("foo")) {
|
||||||
@ -373,7 +371,7 @@ public class ScriptIpMappedFieldTypeTests extends AbstractScriptMappedFieldTypeT
|
|||||||
org.elasticsearch.common.collect.List.of(scriptPlugin, new RuntimeFields())
|
org.elasticsearch.common.collect.List.of(scriptPlugin, new RuntimeFields())
|
||||||
);
|
);
|
||||||
try (ScriptService scriptService = new ScriptService(Settings.EMPTY, scriptModule.engines, scriptModule.contexts)) {
|
try (ScriptService scriptService = new ScriptService(Settings.EMPTY, scriptModule.engines, scriptModule.contexts)) {
|
||||||
IpScriptFieldScript.Factory factory = scriptService.compile(script, IpScriptFieldScript.CONTEXT);
|
IpFieldScript.Factory factory = scriptService.compile(script, IpFieldScript.CONTEXT);
|
||||||
return new ScriptIpMappedFieldType("test", script, factory, emptyMap());
|
return new ScriptIpMappedFieldType("test", script, factory, emptyMap());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,6 @@ import org.elasticsearch.script.ScriptService;
|
|||||||
import org.elasticsearch.script.ScriptType;
|
import org.elasticsearch.script.ScriptType;
|
||||||
import org.elasticsearch.search.MultiValueMode;
|
import org.elasticsearch.search.MultiValueMode;
|
||||||
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptBinaryFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptBinaryFieldData;
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptStringFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptStringFieldData;
|
||||||
|
|
||||||
@ -384,7 +383,7 @@ public class ScriptKeywordMappedFieldTypeTests extends AbstractScriptMappedField
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<ScriptContext<?>> getSupportedContexts() {
|
public Set<ScriptContext<?>> getSupportedContexts() {
|
||||||
return org.elasticsearch.common.collect.Set.of(StringScriptFieldScript.CONTEXT);
|
return org.elasticsearch.common.collect.Set.of(StringFieldScript.CONTEXT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -399,10 +398,10 @@ public class ScriptKeywordMappedFieldTypeTests extends AbstractScriptMappedField
|
|||||||
return factory;
|
return factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
private StringScriptFieldScript.Factory factory(String code) {
|
private StringFieldScript.Factory factory(String code) {
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case "read_foo":
|
case "read_foo":
|
||||||
return (fieldName, params, lookup) -> ctx -> new StringScriptFieldScript(fieldName, params, lookup, ctx) {
|
return (fieldName, params, lookup) -> ctx -> new StringFieldScript(fieldName, params, lookup, ctx) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (Object foo : (List<?>) getSource().get("foo")) {
|
for (Object foo : (List<?>) getSource().get("foo")) {
|
||||||
@ -411,7 +410,7 @@ public class ScriptKeywordMappedFieldTypeTests extends AbstractScriptMappedField
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
case "append_param":
|
case "append_param":
|
||||||
return (fieldName, params, lookup) -> ctx -> new StringScriptFieldScript(fieldName, params, lookup, ctx) {
|
return (fieldName, params, lookup) -> ctx -> new StringFieldScript(fieldName, params, lookup, ctx) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (Object foo : (List<?>) getSource().get("foo")) {
|
for (Object foo : (List<?>) getSource().get("foo")) {
|
||||||
@ -437,7 +436,7 @@ public class ScriptKeywordMappedFieldTypeTests extends AbstractScriptMappedField
|
|||||||
org.elasticsearch.common.collect.List.of(scriptPlugin, new RuntimeFields())
|
org.elasticsearch.common.collect.List.of(scriptPlugin, new RuntimeFields())
|
||||||
);
|
);
|
||||||
try (ScriptService scriptService = new ScriptService(Settings.EMPTY, scriptModule.engines, scriptModule.contexts)) {
|
try (ScriptService scriptService = new ScriptService(Settings.EMPTY, scriptModule.engines, scriptModule.contexts)) {
|
||||||
StringScriptFieldScript.Factory factory = scriptService.compile(script, StringScriptFieldScript.CONTEXT);
|
StringFieldScript.Factory factory = scriptService.compile(script, StringFieldScript.CONTEXT);
|
||||||
return new ScriptKeywordMappedFieldType("test", script, factory, emptyMap());
|
return new ScriptKeywordMappedFieldType("test", script, factory, emptyMap());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,6 @@ import org.elasticsearch.script.ScriptModule;
|
|||||||
import org.elasticsearch.script.ScriptService;
|
import org.elasticsearch.script.ScriptService;
|
||||||
import org.elasticsearch.script.ScriptType;
|
import org.elasticsearch.script.ScriptType;
|
||||||
import org.elasticsearch.search.MultiValueMode;
|
import org.elasticsearch.search.MultiValueMode;
|
||||||
import org.elasticsearch.xpack.runtimefields.LongScriptFieldScript;
|
|
||||||
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
import org.elasticsearch.xpack.runtimefields.RuntimeFields;
|
||||||
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptLongFieldData;
|
import org.elasticsearch.xpack.runtimefields.fielddata.ScriptLongFieldData;
|
||||||
|
|
||||||
@ -303,7 +302,7 @@ public class ScriptLongMappedFieldTypeTests extends AbstractNonTextScriptMappedF
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<ScriptContext<?>> getSupportedContexts() {
|
public Set<ScriptContext<?>> getSupportedContexts() {
|
||||||
return org.elasticsearch.common.collect.Set.of(LongScriptFieldScript.CONTEXT);
|
return org.elasticsearch.common.collect.Set.of(LongFieldScript.CONTEXT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -318,10 +317,10 @@ public class ScriptLongMappedFieldTypeTests extends AbstractNonTextScriptMappedF
|
|||||||
return factory;
|
return factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
private LongScriptFieldScript.Factory factory(String code) {
|
private LongFieldScript.Factory factory(String code) {
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case "read_foo":
|
case "read_foo":
|
||||||
return (fieldName, params, lookup) -> (ctx) -> new LongScriptFieldScript(fieldName, params, lookup, ctx) {
|
return (fieldName, params, lookup) -> (ctx) -> new LongFieldScript(fieldName, params, lookup, ctx) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (Object foo : (List<?>) getSource().get("foo")) {
|
for (Object foo : (List<?>) getSource().get("foo")) {
|
||||||
@ -330,7 +329,7 @@ public class ScriptLongMappedFieldTypeTests extends AbstractNonTextScriptMappedF
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
case "add_param":
|
case "add_param":
|
||||||
return (fieldName, params, lookup) -> (ctx) -> new LongScriptFieldScript(fieldName, params, lookup, ctx) {
|
return (fieldName, params, lookup) -> (ctx) -> new LongFieldScript(fieldName, params, lookup, ctx) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (Object foo : (List<?>) getSource().get("foo")) {
|
for (Object foo : (List<?>) getSource().get("foo")) {
|
||||||
@ -341,7 +340,7 @@ public class ScriptLongMappedFieldTypeTests extends AbstractNonTextScriptMappedF
|
|||||||
case "millis_ago":
|
case "millis_ago":
|
||||||
// Painless actually call System.currentTimeMillis. We could mock the time but this works fine too.
|
// Painless actually call System.currentTimeMillis. We could mock the time but this works fine too.
|
||||||
long now = System.currentTimeMillis();
|
long now = System.currentTimeMillis();
|
||||||
return (fieldName, params, lookup) -> (ctx) -> new LongScriptFieldScript(fieldName, params, lookup, ctx) {
|
return (fieldName, params, lookup) -> (ctx) -> new LongFieldScript(fieldName, params, lookup, ctx) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (Object timestamp : (List<?>) getSource().get("timestamp")) {
|
for (Object timestamp : (List<?>) getSource().get("timestamp")) {
|
||||||
@ -367,7 +366,7 @@ public class ScriptLongMappedFieldTypeTests extends AbstractNonTextScriptMappedF
|
|||||||
org.elasticsearch.common.collect.List.of(scriptPlugin, new RuntimeFields())
|
org.elasticsearch.common.collect.List.of(scriptPlugin, new RuntimeFields())
|
||||||
);
|
);
|
||||||
try (ScriptService scriptService = new ScriptService(Settings.EMPTY, scriptModule.engines, scriptModule.contexts)) {
|
try (ScriptService scriptService = new ScriptService(Settings.EMPTY, scriptModule.engines, scriptModule.contexts)) {
|
||||||
LongScriptFieldScript.Factory factory = scriptService.compile(script, LongScriptFieldScript.CONTEXT);
|
LongFieldScript.Factory factory = scriptService.compile(script, LongFieldScript.CONTEXT);
|
||||||
return new ScriptLongMappedFieldType("test", script, factory, emptyMap());
|
return new ScriptLongMappedFieldType("test", script, factory, emptyMap());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.apache.lucene.document.StoredField;
|
import org.apache.lucene.document.StoredField;
|
||||||
import org.apache.lucene.index.DirectoryReader;
|
import org.apache.lucene.index.DirectoryReader;
|
||||||
@ -20,8 +20,8 @@ import java.io.IOException;
|
|||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
public class StringScriptFieldScriptTests extends ScriptFieldScriptTestCase<StringScriptFieldScript.Factory> {
|
public class StringFieldScriptTests extends FieldScriptTestCase<StringFieldScript.Factory> {
|
||||||
public static final StringScriptFieldScript.Factory DUMMY = (fieldName, params, lookup) -> ctx -> new StringScriptFieldScript(
|
public static final StringFieldScript.Factory DUMMY = (fieldName, params, lookup) -> ctx -> new StringFieldScript(
|
||||||
fieldName,
|
fieldName,
|
||||||
params,
|
params,
|
||||||
lookup,
|
lookup,
|
||||||
@ -34,12 +34,12 @@ public class StringScriptFieldScriptTests extends ScriptFieldScriptTestCase<Stri
|
|||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ScriptContext<StringScriptFieldScript.Factory> context() {
|
protected ScriptContext<StringFieldScript.Factory> context() {
|
||||||
return StringScriptFieldScript.CONTEXT;
|
return StringFieldScript.CONTEXT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected StringScriptFieldScript.Factory dummyScript() {
|
protected StringFieldScript.Factory dummyScript() {
|
||||||
return DUMMY;
|
return DUMMY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ public class StringScriptFieldScriptTests extends ScriptFieldScriptTestCase<Stri
|
|||||||
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
||||||
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
||||||
try (DirectoryReader reader = iw.getReader()) {
|
try (DirectoryReader reader = iw.getReader()) {
|
||||||
StringScriptFieldScript script = new StringScriptFieldScript(
|
StringFieldScript script = new StringFieldScript(
|
||||||
"test",
|
"test",
|
||||||
org.elasticsearch.common.collect.Map.of(),
|
org.elasticsearch.common.collect.Map.of(),
|
||||||
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
||||||
@ -55,7 +55,7 @@ public class StringScriptFieldScriptTests extends ScriptFieldScriptTestCase<Stri
|
|||||||
) {
|
) {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
for (int i = 0; i <= AbstractScriptFieldScript.MAX_VALUES; i++) {
|
for (int i = 0; i <= AbstractFieldScript.MAX_VALUES; i++) {
|
||||||
emit("test");
|
emit("test");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -73,7 +73,7 @@ public class StringScriptFieldScriptTests extends ScriptFieldScriptTestCase<Stri
|
|||||||
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
|
||||||
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
iw.addDocument(org.elasticsearch.common.collect.List.of(new StoredField("_source", new BytesRef("{}"))));
|
||||||
try (DirectoryReader reader = iw.getReader()) {
|
try (DirectoryReader reader = iw.getReader()) {
|
||||||
StringScriptFieldScript script = new StringScriptFieldScript(
|
StringFieldScript script = new StringFieldScript(
|
||||||
"test",
|
"test",
|
||||||
org.elasticsearch.common.collect.Map.of(),
|
org.elasticsearch.common.collect.Map.of(),
|
||||||
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
new SearchLookup(mock(MapperService.class), (ft, lookup) -> null, null),
|
||||||
@ -82,7 +82,7 @@ public class StringScriptFieldScriptTests extends ScriptFieldScriptTestCase<Stri
|
|||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
StringBuilder big = new StringBuilder();
|
StringBuilder big = new StringBuilder();
|
||||||
while (big.length() < StringScriptFieldScript.MAX_CHARS / 4) {
|
while (big.length() < StringFieldScript.MAX_CHARS / 4) {
|
||||||
big.append("test");
|
big.append("test");
|
||||||
}
|
}
|
||||||
String bigString = big.toString();
|
String bigString = big.toString();
|
@ -4,7 +4,7 @@
|
|||||||
* you may not use this file except in compliance with the Elastic License.
|
* you may not use this file except in compliance with the Elastic License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields;
|
package org.elasticsearch.xpack.runtimefields.mapper;
|
||||||
|
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.script.ScriptContext;
|
import org.elasticsearch.script.ScriptContext;
|
@ -10,7 +10,7 @@ import org.apache.lucene.index.Term;
|
|||||||
import org.apache.lucene.search.Query;
|
import org.apache.lucene.search.Query;
|
||||||
import org.apache.lucene.search.QueryVisitor;
|
import org.apache.lucene.search.QueryVisitor;
|
||||||
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
||||||
import org.elasticsearch.xpack.runtimefields.BooleanScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.BooleanFieldScript;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -22,7 +22,7 @@ import static org.mockito.Mockito.mock;
|
|||||||
public abstract class AbstractBooleanScriptFieldQueryTestCase<T extends AbstractBooleanScriptFieldQuery> extends
|
public abstract class AbstractBooleanScriptFieldQueryTestCase<T extends AbstractBooleanScriptFieldQuery> extends
|
||||||
AbstractScriptFieldQueryTestCase<T> {
|
AbstractScriptFieldQueryTestCase<T> {
|
||||||
|
|
||||||
protected final BooleanScriptFieldScript.LeafFactory leafFactory = mock(BooleanScriptFieldScript.LeafFactory.class);
|
protected final BooleanFieldScript.LeafFactory leafFactory = mock(BooleanFieldScript.LeafFactory.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final void testVisit() {
|
public final void testVisit() {
|
||||||
|
@ -6,14 +6,14 @@
|
|||||||
|
|
||||||
package org.elasticsearch.xpack.runtimefields.query;
|
package org.elasticsearch.xpack.runtimefields.query;
|
||||||
|
|
||||||
import org.elasticsearch.xpack.runtimefields.DoubleScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.DoubleFieldScript;
|
||||||
|
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
public abstract class AbstractDoubleScriptFieldQueryTestCase<T extends AbstractDoubleScriptFieldQuery> extends
|
public abstract class AbstractDoubleScriptFieldQueryTestCase<T extends AbstractDoubleScriptFieldQuery> extends
|
||||||
AbstractScriptFieldQueryTestCase<T> {
|
AbstractScriptFieldQueryTestCase<T> {
|
||||||
|
|
||||||
protected final DoubleScriptFieldScript.LeafFactory leafFactory = mock(DoubleScriptFieldScript.LeafFactory.class);
|
protected final DoubleFieldScript.LeafFactory leafFactory = mock(DoubleFieldScript.LeafFactory.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final void testVisit() {
|
public final void testVisit() {
|
||||||
|
@ -8,7 +8,7 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
|
|
||||||
import org.apache.lucene.document.InetAddressPoint;
|
import org.apache.lucene.document.InetAddressPoint;
|
||||||
import org.apache.lucene.util.BytesRef;
|
import org.apache.lucene.util.BytesRef;
|
||||||
import org.elasticsearch.xpack.runtimefields.IpScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.IpFieldScript;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ import static org.mockito.Mockito.mock;
|
|||||||
|
|
||||||
public abstract class AbstractIpScriptFieldQueryTestCase<T extends AbstractIpScriptFieldQuery> extends AbstractScriptFieldQueryTestCase<T> {
|
public abstract class AbstractIpScriptFieldQueryTestCase<T extends AbstractIpScriptFieldQuery> extends AbstractScriptFieldQueryTestCase<T> {
|
||||||
|
|
||||||
protected final IpScriptFieldScript.LeafFactory leafFactory = mock(IpScriptFieldScript.LeafFactory.class);
|
protected final IpFieldScript.LeafFactory leafFactory = mock(IpFieldScript.LeafFactory.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final void testVisit() {
|
public final void testVisit() {
|
||||||
|
@ -7,13 +7,13 @@
|
|||||||
package org.elasticsearch.xpack.runtimefields.query;
|
package org.elasticsearch.xpack.runtimefields.query;
|
||||||
|
|
||||||
import org.apache.lucene.index.LeafReaderContext;
|
import org.apache.lucene.index.LeafReaderContext;
|
||||||
import org.elasticsearch.xpack.runtimefields.AbstractLongScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.AbstractLongFieldScript;
|
||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
public abstract class AbstractLongScriptFieldQueryTestCase<T extends AbstractLongScriptFieldQuery> extends AbstractScriptFieldQueryTestCase<
|
public abstract class AbstractLongScriptFieldQueryTestCase<T extends AbstractLongScriptFieldQuery> extends AbstractScriptFieldQueryTestCase<
|
||||||
T> {
|
T> {
|
||||||
protected final Function<LeafReaderContext, AbstractLongScriptFieldScript> leafFactory = ctx -> null;
|
protected final Function<LeafReaderContext, AbstractLongFieldScript> leafFactory = ctx -> null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final void testVisit() {
|
public final void testVisit() {
|
||||||
|
@ -10,7 +10,7 @@ import org.apache.lucene.index.Term;
|
|||||||
import org.apache.lucene.search.Query;
|
import org.apache.lucene.search.Query;
|
||||||
import org.apache.lucene.search.QueryVisitor;
|
import org.apache.lucene.search.QueryVisitor;
|
||||||
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
import org.apache.lucene.util.automaton.ByteRunAutomaton;
|
||||||
import org.elasticsearch.xpack.runtimefields.StringScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.StringFieldScript;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -23,7 +23,7 @@ import static org.mockito.Mockito.mock;
|
|||||||
|
|
||||||
public abstract class AbstractStringScriptFieldQueryTestCase<T extends AbstractStringScriptFieldQuery> extends
|
public abstract class AbstractStringScriptFieldQueryTestCase<T extends AbstractStringScriptFieldQuery> extends
|
||||||
AbstractScriptFieldQueryTestCase<T> {
|
AbstractScriptFieldQueryTestCase<T> {
|
||||||
protected final StringScriptFieldScript.LeafFactory leafFactory = mock(StringScriptFieldScript.LeafFactory.class);
|
protected final StringFieldScript.LeafFactory leafFactory = mock(StringFieldScript.LeafFactory.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link Query#visit Visit} a query, collecting {@link ByteRunAutomaton automata},
|
* {@link Query#visit Visit} a query, collecting {@link ByteRunAutomaton automata},
|
||||||
|
@ -8,7 +8,6 @@ package org.elasticsearch.xpack.runtimefields.query;
|
|||||||
|
|
||||||
import com.carrotsearch.hppc.LongHashSet;
|
import com.carrotsearch.hppc.LongHashSet;
|
||||||
import com.carrotsearch.hppc.LongSet;
|
import com.carrotsearch.hppc.LongSet;
|
||||||
|
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -18,8 +18,8 @@ import org.apache.lucene.util.BytesRef;
|
|||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.search.lookup.SearchLookup;
|
import org.elasticsearch.search.lookup.SearchLookup;
|
||||||
import org.elasticsearch.test.ESTestCase;
|
import org.elasticsearch.test.ESTestCase;
|
||||||
import org.elasticsearch.xpack.runtimefields.AbstractLongScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.AbstractLongFieldScript;
|
||||||
import org.elasticsearch.xpack.runtimefields.DateScriptFieldScript;
|
import org.elasticsearch.xpack.runtimefields.mapper.DateFieldScript;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -29,7 +29,7 @@ import java.util.function.Function;
|
|||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
|
|
||||||
public class LongScriptFieldDistanceFeatureQueryTests extends AbstractScriptFieldQueryTestCase<LongScriptFieldDistanceFeatureQuery> {
|
public class LongScriptFieldDistanceFeatureQueryTests extends AbstractScriptFieldQueryTestCase<LongScriptFieldDistanceFeatureQuery> {
|
||||||
private final Function<LeafReaderContext, AbstractLongScriptFieldScript> leafFactory = ctx -> null;
|
private final Function<LeafReaderContext, AbstractLongFieldScript> leafFactory = ctx -> null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected LongScriptFieldDistanceFeatureQuery createTestInstance() {
|
protected LongScriptFieldDistanceFeatureQuery createTestInstance() {
|
||||||
@ -90,7 +90,7 @@ public class LongScriptFieldDistanceFeatureQueryTests extends AbstractScriptFiel
|
|||||||
);
|
);
|
||||||
try (DirectoryReader reader = iw.getReader()) {
|
try (DirectoryReader reader = iw.getReader()) {
|
||||||
IndexSearcher searcher = newSearcher(reader);
|
IndexSearcher searcher = newSearcher(reader);
|
||||||
Function<LeafReaderContext, AbstractLongScriptFieldScript> leafFactory = ctx -> new DateScriptFieldScript(
|
Function<LeafReaderContext, AbstractLongFieldScript> leafFactory = ctx -> new DateFieldScript(
|
||||||
"test",
|
"test",
|
||||||
Collections.emptyMap(),
|
Collections.emptyMap(),
|
||||||
new SearchLookup(null, null, null),
|
new SearchLookup(null, null, null),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user