Cut CustomQueryParserIT to registerQuery
This is the last place inside of ES other than SearchModule.
This commit is contained in:
parent
f157dae053
commit
4841c5a3d3
|
@ -30,7 +30,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder;
|
|||
import org.elasticsearch.common.xcontent.XContentParser;
|
||||
import org.elasticsearch.index.query.AbstractQueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryParseContext;
|
||||
import org.elasticsearch.index.query.QueryParser;
|
||||
import org.elasticsearch.index.query.QueryShardContext;
|
||||
import org.elasticsearch.plugins.Plugin;
|
||||
import org.elasticsearch.search.SearchModule;
|
||||
|
@ -50,17 +49,24 @@ public class DummyQueryParserPlugin extends Plugin {
|
|||
}
|
||||
|
||||
public void onModule(SearchModule module) {
|
||||
module.registerQueryParser(new DummyQueryParser(), new ParseField(DummyQueryBuilder.NAME));
|
||||
module.registerQuery(new DummyQueryBuilder()::readFrom, DummyQueryBuilder::fromXContent, DummyQueryBuilder.QUERY_NAME_FIELD);
|
||||
}
|
||||
|
||||
public static class DummyQueryBuilder extends AbstractQueryBuilder<DummyQueryBuilder> {
|
||||
private static final String NAME = "dummy";
|
||||
private static final ParseField QUERY_NAME_FIELD = new ParseField(NAME);
|
||||
|
||||
@Override
|
||||
protected void doXContent(XContentBuilder builder, Params params) throws IOException {
|
||||
builder.startObject(NAME).endObject();
|
||||
}
|
||||
|
||||
public static DummyQueryBuilder fromXContent(QueryParseContext parseContext) throws IOException {
|
||||
XContentParser.Token token = parseContext.parser().nextToken();
|
||||
assert token == XContentParser.Token.END_OBJECT;
|
||||
return new DummyQueryBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Query doToQuery(QueryShardContext context) throws IOException {
|
||||
return new DummyQuery(context.isFilter());
|
||||
|
@ -92,20 +98,6 @@ public class DummyQueryParserPlugin extends Plugin {
|
|||
}
|
||||
}
|
||||
|
||||
public static class DummyQueryParser implements QueryParser<DummyQueryBuilder> {
|
||||
@Override
|
||||
public DummyQueryBuilder fromXContent(QueryParseContext parseContext) throws IOException {
|
||||
XContentParser.Token token = parseContext.parser().nextToken();
|
||||
assert token == XContentParser.Token.END_OBJECT;
|
||||
return new DummyQueryBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DummyQueryBuilder getBuilderPrototype() {
|
||||
return new DummyQueryBuilder();
|
||||
}
|
||||
}
|
||||
|
||||
public static class DummyQuery extends Query {
|
||||
public final boolean isFilter;
|
||||
private final Query matchAllDocsQuery = new MatchAllDocsQuery();
|
||||
|
|
Loading…
Reference in New Issue