diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-10-05 00:37:27 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2018-10-05 00:37:27 +0200 |
commit | f5111abec02995d692bfd594eb9a8e4946d456e8 (patch) | |
tree | 02155d1ffd9cf60aa430b360be0bd3ed859e996f | |
parent | 1baa05619cba213b7a869a36f9febe9b11f3196b (diff) |
Do not create huge optimaize structures when not necessary.
9 files changed, 16 insertions, 8 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/document/SDField.java b/config-model/src/main/java/com/yahoo/searchdefinition/document/SDField.java index e310b6b6858..6fc896b90c6 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/document/SDField.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/document/SDField.java @@ -423,7 +423,7 @@ public class SDField extends Field implements TypedKey, FieldOperationContainer, /** Parse an indexing expression which will use the simple linguistics implementatino suitable for testing */ public void parseIndexingScript(String script) { - parseIndexingScript(script, new SimpleLinguistics()); + parseIndexingScript(script, new SimpleLinguistics(false)); } public void parseIndexingScript(String script, Linguistics linguistics) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/IndexingOperation.java b/config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/IndexingOperation.java index e7baac3f0b5..cd586960185 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/IndexingOperation.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/IndexingOperation.java @@ -28,7 +28,7 @@ public class IndexingOperation implements FieldOperation { /** Creates an indexing operation which will use the simple linguistics implementation suitable for testing */ public static IndexingOperation fromStream(SimpleCharStream input, boolean multiLine) throws ParseException { - return fromStream(input, multiLine, new SimpleLinguistics()); + return fromStream(input, multiLine, new SimpleLinguistics(false)); } public static IndexingOperation fromStream(SimpleCharStream input, boolean multiLine, Linguistics linguistics) diff --git a/config-model/src/main/javacc/SDParser.jj b/config-model/src/main/javacc/SDParser.jj index c702651b005..40da779dd20 100644 --- a/config-model/src/main/javacc/SDParser.jj +++ b/config-model/src/main/javacc/SDParser.jj @@ -112,7 +112,7 @@ public class SDParser { * @param multiline Whether or not to allow multi-line expressions. */ private IndexingOperation newIndexingOperation(boolean multiline) throws ParseException { - return newIndexingOperation(multiline, new SimpleLinguistics()); + return newIndexingOperation(multiline, new SimpleLinguistics(false)); } /** diff --git a/container-search/src/main/java/com/yahoo/search/query/parser/ParserEnvironment.java b/container-search/src/main/java/com/yahoo/search/query/parser/ParserEnvironment.java index ca437fb9def..7bd1b01b3e5 100644 --- a/container-search/src/main/java/com/yahoo/search/query/parser/ParserEnvironment.java +++ b/container-search/src/main/java/com/yahoo/search/query/parser/ParserEnvironment.java @@ -18,7 +18,7 @@ import com.yahoo.search.searchchain.Execution; public final class ParserEnvironment { private IndexFacts indexFacts = new IndexFacts(); - private Linguistics linguistics = new SimpleLinguistics(); + private Linguistics linguistics = new SimpleLinguistics(false); private SpecialTokens specialTokens = new SpecialTokens(); public IndexFacts getIndexFacts() { diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/Expression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/Expression.java index b5a83780ae2..be680abb52d 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/Expression.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/Expression.java @@ -173,7 +173,7 @@ public abstract class Expression extends Selectable { /** Creates an expression with simple lingustics for testing */ public static Expression fromString(String expression) throws ParseException { - return fromString(expression, new SimpleLinguistics()); + return fromString(expression, new SimpleLinguistics(false)); } public static Expression fromString(String expression, Linguistics linguistics) throws ParseException { diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java index 23d215b29fc..bcf655fd218 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java @@ -90,7 +90,7 @@ public class ScriptExpression extends ExpressionList<StatementExpression> { /** Creates an expression with simple lingustics for testing */ public static ScriptExpression fromString(String expression) throws ParseException { - return fromString(expression, new SimpleLinguistics()); + return fromString(expression, new SimpleLinguistics(false)); } public static ScriptExpression fromString(String expression, Linguistics linguistics) throws ParseException { diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java index 7ec64a421f7..ecd0be8b2fa 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java @@ -86,7 +86,7 @@ public class StatementExpression extends ExpressionList<Expression> { /** Creates an expression with simple lingustics for testing */ public static StatementExpression fromString(String expression) throws ParseException { - return fromString(expression, new SimpleLinguistics()); + return fromString(expression, new SimpleLinguistics(false)); } public static StatementExpression fromString(String expression, Linguistics linguistics) throws ParseException { diff --git a/linguistics/src/main/java/com/yahoo/language/simple/SimpleDetector.java b/linguistics/src/main/java/com/yahoo/language/simple/SimpleDetector.java index 0503ac61df1..bcd4492625d 100644 --- a/linguistics/src/main/java/com/yahoo/language/simple/SimpleDetector.java +++ b/linguistics/src/main/java/com/yahoo/language/simple/SimpleDetector.java @@ -68,7 +68,7 @@ public class SimpleDetector implements Detector { private final boolean enableOptimaize; - private SimpleDetector(boolean enableOptimaize) { + SimpleDetector(boolean enableOptimaize) { initOptimaize(enableOptimaize); this.enableOptimaize = enableOptimaize; diff --git a/linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java b/linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java index cdfd5b4cb58..d7246db6041 100644 --- a/linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java +++ b/linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java @@ -40,6 +40,14 @@ public class SimpleLinguistics implements Linguistics { this.characterClasses = new CharacterClasses(); this.gramSplitter = new GramSplitter(characterClasses); } + public SimpleLinguistics(boolean enableOptimaize) { + CharacterClasses characterClasses = new CharacterClasses(); + this.normalizer = new SimpleNormalizer(); + this.transformer = new SimpleTransformer(); + this.detector = new SimpleDetector(enableOptimaize); + this.characterClasses = new CharacterClasses(); + this.gramSplitter = new GramSplitter(characterClasses); + } public SimpleLinguistics(SimpleLinguisticsConfig config) { CharacterClasses characterClasses = new CharacterClasses(); |