@@ -1092,7 +1092,7 @@ public void analyzerWithEmptyCharFilterMapping() throws Exception {
10921092
10931093 defaultAnalyzers .addChild (FulltextIndexConstants .ANL_TOKENIZER )
10941094 .setProperty (FulltextIndexConstants .ANL_NAME , "Standard" );
1095- Tree filters = analyzers .addChild (FulltextIndexConstants .ANL_FILTERS );
1095+ Tree filters = defaultAnalyzers .addChild (FulltextIndexConstants .ANL_FILTERS );
10961096 filters .setOrderableChildren (true );
10971097 filters .addChild ("LowerCase" );
10981098 });
@@ -1106,6 +1106,32 @@ public void analyzerWithEmptyCharFilterMapping() throws Exception {
11061106 });
11071107 }
11081108
1109+ // OAK-11568
1110+ @ Test
1111+ public void analyzerWithNGramTokenizer () throws Exception {
1112+ setup (List .of ("foo" ), idx -> {
1113+ Tree analyzers = idx .addChild (FulltextIndexConstants .ANALYZERS );
1114+ Tree defaultAnalyzers = analyzers .addChild (FulltextIndexConstants .ANL_DEFAULT );
1115+ Tree tokenizer = defaultAnalyzers .addChild (FulltextIndexConstants .ANL_TOKENIZER );
1116+ tokenizer .setProperty (FulltextIndexConstants .ANL_NAME , "NGram" );
1117+ tokenizer .setProperty ("maxGramSize" , 2 );
1118+ tokenizer .setProperty ("minGramSize" , 3 );
1119+ });
1120+
1121+ Tree content = root .getTree ("/" ).addChild ("content" );
1122+ content .addChild ("bar" ).setProperty ("foo" , "foob bart" );
1123+ root .commit ();
1124+
1125+ assertEventually (() -> {
1126+ assertQuery ("select * from [nt:base] where contains(*, 'fo')" , List .of ("/content/bar" ));
1127+ assertQuery ("select * from [nt:base] where contains(*, 'foo')" , List .of ("/content/bar" ));
1128+ assertQuery ("select * from [nt:base] where contains(*, 'oob')" , List .of ("/content/bar" ));
1129+ assertQuery ("select * from [nt:base] where contains(*, 'ba')" , List .of ("/content/bar" ));
1130+ assertQuery ("select * from [nt:base] where contains(*, 'bar')" , List .of ("/content/bar" ));
1131+ assertQuery ("select * from [nt:base] where contains(*, 'art')" , List .of ("/content/bar" ));
1132+ });
1133+ }
1134+
11091135 protected Tree addFilter (Tree analyzer , String filterName ) {
11101136 Tree filter = analyzer .addChild (filterName );
11111137 // mimics nodes api
0 commit comments