Skip to content

Commit

Permalink
HSEARCH-2584 Test override built-in analyzers with backends
Browse files Browse the repository at this point in the history
  • Loading branch information
fax4ever authored and yrodiere committed Oct 23, 2020
1 parent fe2a657 commit bda5a18
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 2 deletions.
Expand Up @@ -14,6 +14,11 @@ public class AnalysisBuiltinOverrideITAnalysisConfigurer implements Elasticsearc
@Override
public void configure(ElasticsearchAnalysisConfigurationContext context) {
overrideAnalyzer( context, AnalyzerNames.DEFAULT );
overrideAnalyzer( context, AnalyzerNames.STANDARD );
overrideAnalyzer( context, AnalyzerNames.SIMPLE );
overrideAnalyzer( context, AnalyzerNames.WHITESPACE );
overrideAnalyzer( context, AnalyzerNames.STOP );
overrideAnalyzer( context, AnalyzerNames.KEYWORD );
}

private void overrideAnalyzer(ElasticsearchAnalysisConfigurationContext context, String name) {
Expand Down
Expand Up @@ -17,6 +17,11 @@ public class AnalysisBuiltinOverrideITAnalysisConfigurer implements LuceneAnalys
@Override
public void configure(LuceneAnalysisConfigurationContext context) {
overrideAnalyzer( context, AnalyzerNames.DEFAULT );
overrideAnalyzer( context, AnalyzerNames.STANDARD );
overrideAnalyzer( context, AnalyzerNames.SIMPLE );
overrideAnalyzer( context, AnalyzerNames.WHITESPACE );
overrideAnalyzer( context, AnalyzerNames.STOP );
overrideAnalyzer( context, AnalyzerNames.KEYWORD );
}

private void overrideAnalyzer(LuceneAnalysisConfigurationContext context, String name) {
Expand Down
Expand Up @@ -48,8 +48,35 @@ public void setup() {

@Test
public void analyzer_default() {
SimpleFieldModel<String> field = index.binding().defaultAnalyzer;
verifyOverride( index.binding().defaultAnalyzer );
}

@Test
public void analyzer_standard() {
verifyOverride( index.binding().standardAnalyzer );
}

@Test
public void analyzer_simple() {
verifyOverride( index.binding().simpleAnalyzer );
}

@Test
public void analyzer_whitespace() {
verifyOverride( index.binding().whitespaceAnalyzer );
}

@Test
public void analyzer_stop() {
verifyOverride( index.binding().stopAnalyzer );
}

@Test
public void analyzer_keyword() {
verifyOverride( index.binding().keywordAnalyzer );
}

private void verifyOverride(SimpleFieldModel<String> field) {
initData( field, b -> {
b.emptyDocument( "empty" );
b.document( "nonempty", "somewords" );
Expand Down Expand Up @@ -82,12 +109,31 @@ private void initData(SimpleFieldModel<String> fieldModel, Consumer<SingleFieldD

private static class IndexBinding {
final SimpleFieldModel<String> defaultAnalyzer;
final SimpleFieldModel<String> standardAnalyzer;
final SimpleFieldModel<String> simpleAnalyzer;
final SimpleFieldModel<String> whitespaceAnalyzer;
final SimpleFieldModel<String> stopAnalyzer;
final SimpleFieldModel<String> keywordAnalyzer;

IndexBinding(IndexSchemaElement root) {
this.defaultAnalyzer = SimpleFieldModel.mapperWithOverride( KeywordStringFieldTypeDescriptor.INSTANCE,
f -> f.asString().analyzer( AnalyzerNames.DEFAULT ) )
.map( root, "default" );
this.standardAnalyzer = SimpleFieldModel.mapperWithOverride( KeywordStringFieldTypeDescriptor.INSTANCE,
f -> f.asString().analyzer( AnalyzerNames.STANDARD ) )
.map( root, "standard" );
this.simpleAnalyzer = SimpleFieldModel.mapperWithOverride( KeywordStringFieldTypeDescriptor.INSTANCE,
f -> f.asString().analyzer( AnalyzerNames.SIMPLE ) )
.map( root, "simple" );
this.whitespaceAnalyzer = SimpleFieldModel.mapperWithOverride( KeywordStringFieldTypeDescriptor.INSTANCE,
f -> f.asString().analyzer( AnalyzerNames.WHITESPACE ) )
.map( root, "whitespace" );
this.stopAnalyzer = SimpleFieldModel.mapperWithOverride( KeywordStringFieldTypeDescriptor.INSTANCE,
f -> f.asString().analyzer( AnalyzerNames.STOP ) )
.map( root, "stop" );
this.keywordAnalyzer = SimpleFieldModel.mapperWithOverride( KeywordStringFieldTypeDescriptor.INSTANCE,
f -> f.asString().analyzer( AnalyzerNames.KEYWORD ) )
.map( root, "keyword" );
}
}

}

0 comments on commit bda5a18

Please sign in to comment.