From 48a0f0e34e2010425493aa9dc1eaf6364e83caf0 Mon Sep 17 00:00:00 2001 From: chengyang14 Date: Sat, 12 Dec 2020 12:07:00 +0800 Subject: [PATCH 1/2] remove unsed fields in `RestAnalyzeAction` --- .../rest/action/admin/indices/RestAnalyzeAction.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/rest/action/admin/indices/RestAnalyzeAction.java b/server/src/main/java/org/elasticsearch/rest/action/admin/indices/RestAnalyzeAction.java index 882ecdcb58659..722fca566e184 100644 --- a/server/src/main/java/org/elasticsearch/rest/action/admin/indices/RestAnalyzeAction.java +++ b/server/src/main/java/org/elasticsearch/rest/action/admin/indices/RestAnalyzeAction.java @@ -35,15 +35,9 @@ public class RestAnalyzeAction extends BaseRestHandler { public static class Fields { - public static final ParseField ANALYZER = new ParseField("analyzer"); - public static final ParseField TEXT = new ParseField("text"); - public static final ParseField FIELD = new ParseField("field"); public static final ParseField TOKENIZER = new ParseField("tokenizer"); public static final ParseField TOKEN_FILTERS = new ParseField("filter"); public static final ParseField CHAR_FILTERS = new ParseField("char_filter"); - public static final ParseField EXPLAIN = new ParseField("explain"); - public static final ParseField ATTRIBUTES = new ParseField("attributes"); - public static final ParseField NORMALIZER = new ParseField("normalizer"); } @Override From edef8c8a8670ddf39dd61e35c71851768f395600 Mon Sep 17 00:00:00 2001 From: chengyang14 Date: Mon, 14 Dec 2020 22:25:38 +0800 Subject: [PATCH 2/2] move `ParseFields` to `AnalyzeAction` --- .../config/CategorizationAnalyzerConfig.java | 7 +++-- .../admin/indices/analyze/AnalyzeAction.java | 31 +++++++++++++------ .../admin/indices/RestAnalyzeAction.java | 7 ----- .../config/CategorizationAnalyzerConfig.java | 7 +++-- 4 files changed, 30 insertions(+), 22 deletions(-) diff --git a/client/rest-high-level/src/main/java/org/elasticsearch/client/ml/job/config/CategorizationAnalyzerConfig.java b/client/rest-high-level/src/main/java/org/elasticsearch/client/ml/job/config/CategorizationAnalyzerConfig.java index 362b1705efd58..a419824148d90 100644 --- a/client/rest-high-level/src/main/java/org/elasticsearch/client/ml/job/config/CategorizationAnalyzerConfig.java +++ b/client/rest-high-level/src/main/java/org/elasticsearch/client/ml/job/config/CategorizationAnalyzerConfig.java @@ -18,6 +18,7 @@ */ package org.elasticsearch.client.ml.job.config; +import org.elasticsearch.action.admin.indices.analyze.AnalyzeAction; import org.elasticsearch.common.ParseField; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.xcontent.ToXContentFragment; @@ -59,9 +60,9 @@ public class CategorizationAnalyzerConfig implements ToXContentFragment { public static final ParseField CATEGORIZATION_ANALYZER = new ParseField("categorization_analyzer"); - private static final ParseField TOKENIZER = RestAnalyzeAction.Fields.TOKENIZER; - private static final ParseField TOKEN_FILTERS = RestAnalyzeAction.Fields.TOKEN_FILTERS; - private static final ParseField CHAR_FILTERS = RestAnalyzeAction.Fields.CHAR_FILTERS; + private static final ParseField TOKENIZER = AnalyzeAction.Fields.TOKENIZER; + private static final ParseField TOKEN_FILTERS = AnalyzeAction.Fields.TOKEN_FILTERS; + private static final ParseField CHAR_FILTERS = AnalyzeAction.Fields.CHAR_FILTERS; /** * This method is only used in the unit tests - in production code this config is always parsed as a fragment. diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeAction.java b/server/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeAction.java index 361e516ad15f1..89da83941980a 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeAction.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeAction.java @@ -54,6 +54,18 @@ private AnalyzeAction() { super(NAME, AnalyzeAction.Response::new); } + public static class Fields { + public static final ParseField ANALYZER = new ParseField("analyzer"); + public static final ParseField TEXT = new ParseField("text"); + public static final ParseField FIELD = new ParseField("field"); + public static final ParseField TOKENIZER = new ParseField("tokenizer"); + public static final ParseField TOKEN_FILTERS = new ParseField("filter"); + public static final ParseField CHAR_FILTERS = new ParseField("char_filter"); + public static final ParseField EXPLAIN = new ParseField("explain"); + public static final ParseField ATTRIBUTES = new ParseField("attributes"); + public static final ParseField NORMALIZER = new ParseField("normalizer"); + } + /** * A request to analyze a text associated with a specific index. Allow to provide * the actual analyzer name to perform the analysis with. @@ -264,19 +276,20 @@ public static Request fromXContent(XContentParser parser, String index) throws I } private static final ObjectParser PARSER = new ObjectParser<>("analyze_request"); + static { - PARSER.declareStringArray(Request::text, new ParseField("text")); - PARSER.declareString(Request::analyzer, new ParseField("analyzer")); + PARSER.declareStringArray(Request::text, Fields.TEXT); + PARSER.declareString(Request::analyzer, Fields.ANALYZER); PARSER.declareField(Request::tokenizer, (p, c) -> NameOrDefinition.fromXContent(p), - new ParseField("tokenizer"), ObjectParser.ValueType.OBJECT_OR_STRING); + Fields.TOKENIZER, ObjectParser.ValueType.OBJECT_OR_STRING); PARSER.declareObjectArray(Request::setTokenFilters, (p, c) -> NameOrDefinition.fromXContent(p), - new ParseField("filter")); + Fields.TOKEN_FILTERS); PARSER.declareObjectArray(Request::setCharFilters, (p, c) -> NameOrDefinition.fromXContent(p), - new ParseField("char_filter")); - PARSER.declareString(Request::field, new ParseField("field")); - PARSER.declareBoolean(Request::explain, new ParseField("explain")); - PARSER.declareStringArray(Request::attributes, new ParseField("attributes")); - PARSER.declareString(Request::normalizer, new ParseField("normalizer")); + Fields.CHAR_FILTERS); + PARSER.declareString(Request::field, Fields.FIELD); + PARSER.declareBoolean(Request::explain, Fields.EXPLAIN); + PARSER.declareStringArray(Request::attributes, Fields.ATTRIBUTES); + PARSER.declareString(Request::normalizer, Fields.NORMALIZER); } } diff --git a/server/src/main/java/org/elasticsearch/rest/action/admin/indices/RestAnalyzeAction.java b/server/src/main/java/org/elasticsearch/rest/action/admin/indices/RestAnalyzeAction.java index 722fca566e184..b03c14bf07134 100644 --- a/server/src/main/java/org/elasticsearch/rest/action/admin/indices/RestAnalyzeAction.java +++ b/server/src/main/java/org/elasticsearch/rest/action/admin/indices/RestAnalyzeAction.java @@ -20,7 +20,6 @@ import org.elasticsearch.action.admin.indices.analyze.AnalyzeAction; import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.common.ParseField; import org.elasticsearch.common.xcontent.XContentParser; import org.elasticsearch.rest.BaseRestHandler; import org.elasticsearch.rest.RestRequest; @@ -34,12 +33,6 @@ public class RestAnalyzeAction extends BaseRestHandler { - public static class Fields { - public static final ParseField TOKENIZER = new ParseField("tokenizer"); - public static final ParseField TOKEN_FILTERS = new ParseField("filter"); - public static final ParseField CHAR_FILTERS = new ParseField("char_filter"); - } - @Override public List routes() { return List.of( diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/CategorizationAnalyzerConfig.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/CategorizationAnalyzerConfig.java index a9b509f81bbe1..0122660bb3422 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/CategorizationAnalyzerConfig.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/CategorizationAnalyzerConfig.java @@ -5,6 +5,7 @@ */ package org.elasticsearch.xpack.core.ml.job.config; +import org.elasticsearch.action.admin.indices.analyze.AnalyzeAction; import org.elasticsearch.common.ParseField; import org.elasticsearch.common.Strings; import org.elasticsearch.common.io.stream.StreamInput; @@ -54,9 +55,9 @@ public class CategorizationAnalyzerConfig implements ToXContentFragment, Writeable { public static final ParseField CATEGORIZATION_ANALYZER = new ParseField("categorization_analyzer"); - public static final ParseField TOKENIZER = RestAnalyzeAction.Fields.TOKENIZER; - public static final ParseField TOKEN_FILTERS = RestAnalyzeAction.Fields.TOKEN_FILTERS; - public static final ParseField CHAR_FILTERS = RestAnalyzeAction.Fields.CHAR_FILTERS; + public static final ParseField TOKENIZER = AnalyzeAction.Fields.TOKENIZER; + public static final ParseField TOKEN_FILTERS = AnalyzeAction.Fields.TOKEN_FILTERS; + public static final ParseField CHAR_FILTERS = AnalyzeAction.Fields.CHAR_FILTERS; /** * This method is only used in the unit tests - in production code this config is always parsed as a fragment.