|
@@ -368,8 +368,47 @@ public interface SearchPlugin {
|
|
|
class PipelineAggregationSpec extends SearchExtensionSpec<PipelineAggregationBuilder,
|
|
|
ContextParser<String, ? extends PipelineAggregationBuilder>> {
|
|
|
private final Map<String, Writeable.Reader<? extends InternalAggregation>> resultReaders = new TreeMap<>();
|
|
|
+ /**
|
|
|
+ * Read the aggregator from a stream.
|
|
|
+ * @deprecated Pipelines implemented after 7.8.0 do not need to be sent across the wire
|
|
|
+ */
|
|
|
+ @Deprecated
|
|
|
private final Writeable.Reader<? extends PipelineAggregator> aggregatorReader;
|
|
|
|
|
|
+ /**
|
|
|
+ * Specification of a {@link PipelineAggregator}.
|
|
|
+ *
|
|
|
+ * @param name holds the names by which this aggregation might be parsed. The {@link ParseField#getPreferredName()} is special as it
|
|
|
+ * is the name by under which the readers are registered. So it is the name that the {@link PipelineAggregationBuilder} and
|
|
|
+ * {@link PipelineAggregator} should return from {@link NamedWriteable#getWriteableName()}.
|
|
|
+ * @param builderReader the reader registered for this aggregation's builder. Typically a reference to a constructor that takes a
|
|
|
+ * {@link StreamInput}
|
|
|
+ * @param parser reads the aggregation builder from XContent
|
|
|
+ */
|
|
|
+ public PipelineAggregationSpec(ParseField name,
|
|
|
+ Writeable.Reader<? extends PipelineAggregationBuilder> builderReader,
|
|
|
+ ContextParser<String, ? extends PipelineAggregationBuilder> parser) {
|
|
|
+ super(name, builderReader, parser);
|
|
|
+ this.aggregatorReader = null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Specification of a {@link PipelineAggregator}.
|
|
|
+ *
|
|
|
+ * @param name name by which this aggregation might be parsed or deserialized. Make sure it is the name that the
|
|
|
+ * {@link PipelineAggregationBuilder} and {@link PipelineAggregator} should return from
|
|
|
+ * {@link NamedWriteable#getWriteableName()}.
|
|
|
+ * @param builderReader the reader registered for this aggregation's builder. Typically a reference to a constructor that takes a
|
|
|
+ * {@link StreamInput}
|
|
|
+ * @param parser reads the aggregation builder from XContent
|
|
|
+ */
|
|
|
+ public PipelineAggregationSpec(String name,
|
|
|
+ Writeable.Reader<? extends PipelineAggregationBuilder> builderReader,
|
|
|
+ ContextParser<String, ? extends PipelineAggregationBuilder> parser) {
|
|
|
+ super(name, builderReader, parser);
|
|
|
+ this.aggregatorReader = null;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Specification of a {@link PipelineAggregator}.
|
|
|
*
|
|
@@ -380,7 +419,10 @@ public interface SearchPlugin {
|
|
|
* {@link StreamInput}
|
|
|
* @param aggregatorReader reads the {@link PipelineAggregator} from a stream
|
|
|
* @param parser reads the aggregation builder from XContent
|
|
|
+ * @deprecated Use {@link PipelineAggregationSpec#PipelineAggregationSpec(ParseField, Writeable.Reader, ContextParser)} for
|
|
|
+ * pipelines implemented after 7.8.0
|
|
|
*/
|
|
|
+ @Deprecated
|
|
|
public PipelineAggregationSpec(ParseField name,
|
|
|
Writeable.Reader<? extends PipelineAggregationBuilder> builderReader,
|
|
|
Writeable.Reader<? extends PipelineAggregator> aggregatorReader,
|
|
@@ -399,7 +441,10 @@ public interface SearchPlugin {
|
|
|
* {@link StreamInput}
|
|
|
* @param aggregatorReader reads the {@link PipelineAggregator} from a stream
|
|
|
* @param parser reads the aggregation builder from XContent
|
|
|
+ * @deprecated Use {@link PipelineAggregationSpec#PipelineAggregationSpec(String, Writeable.Reader, ContextParser)} for pipelines
|
|
|
+ * implemented after 7.8.0
|
|
|
*/
|
|
|
+ @Deprecated
|
|
|
public PipelineAggregationSpec(String name,
|
|
|
Writeable.Reader<? extends PipelineAggregationBuilder> builderReader,
|
|
|
Writeable.Reader<? extends PipelineAggregator> aggregatorReader,
|
|
@@ -466,8 +511,10 @@ public interface SearchPlugin {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * The reader for the {@link PipelineAggregator}.
|
|
|
+ * Read the aggregator from a stream.
|
|
|
+ * @deprecated Pipelines implemented after 7.8.0 do not need to be sent across the wire
|
|
|
*/
|
|
|
+ @Deprecated
|
|
|
public Writeable.Reader<? extends PipelineAggregator> getAggregatorReader() {
|
|
|
return aggregatorReader;
|
|
|
}
|