diff options
author | Arne H Juul <arnej@yahooinc.com> | 2021-11-08 08:37:38 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2021-11-08 08:37:42 +0000 |
commit | a95f1a9033545e08e21a2d656f84fd2d4f2293d4 (patch) | |
tree | e07a5c14e48127a3c8aee5f854dc9c882890f28a /config-model/src/main/javacc/SDParser.jj | |
parent | a6aede7c79dcda9bee20174296b9673d9e0b32b1 (diff) |
let match-features inherit also
* a rank-profile can now inherit its parent's match-features and
add its own, exactly the same way as summary-features.
Diffstat (limited to 'config-model/src/main/javacc/SDParser.jj')
-rw-r--r-- | config-model/src/main/javacc/SDParser.jj | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/config-model/src/main/javacc/SDParser.jj b/config-model/src/main/javacc/SDParser.jj index 5bcc033fa37..07171dea803 100644 --- a/config-model/src/main/javacc/SDParser.jj +++ b/config-model/src/main/javacc/SDParser.jj @@ -358,6 +358,7 @@ TOKEN : | < MULTITHREADEDINDEXING: "multi-threaded-indexing" > | < MATCHFEATURES_SL: "match-features" (" ")* ":" (~["}","\n"])* ("\n")? > | < MATCHFEATURES_ML: "match-features" (<SEARCHLIB_SKIP>)? "{" (~["}"])* "}" > +| < MATCHFEATURES_ML_INHERITS: "match-features inherits " (<IDENTIFIER>) (<SEARCHLIB_SKIP>)? "{" (~["}"])* "}" > | < SUMMARYFEATURES_SL: "summary-features" (" ")* ":" (~["}","\n"])* ("\n")? > | < SUMMARYFEATURES_ML: "summary-features" (<SEARCHLIB_SKIP>)? "{" (~["}"])* "}" > | < SUMMARYFEATURES_ML_INHERITS: "summary-features inherits " (<IDENTIFIER>) (<SEARCHLIB_SKIP>)? "{" (~["}"])* "}" > @@ -2322,7 +2323,14 @@ Object matchFeatures(RankProfile profile) : { ( <MATCHFEATURES_SL> { features = token.image.substring(token.image.indexOf(":") + 1).trim(); } | <MATCHFEATURES_ML> { features = token.image.substring(token.image.indexOf("{") + 1, - token.image.lastIndexOf("}")).trim(); } ) + token.image.lastIndexOf("}")).trim(); } | + <MATCHFEATURES_ML_INHERITS> { + int inheritsIndex = token.image.indexOf("inherits "); + String rest = token.image.substring(inheritsIndex + "inherits ".length()); + profile.setInheritedMatchFeatures(rest.substring(0, rest.indexOf(" ")).trim()); + features = token.image.substring(token.image.indexOf("{") + 1, token.image.lastIndexOf("}")).trim(); + } + ) { profile.addMatchFeatures(getFeatureList(features)); return null; |