Skip to content

Commit e2ad3df

Browse files
committed
Function: add lowcase enable AND fix bug mentioned in ISSUE#1097
1 parent bf423ad commit e2ad3df

File tree

4 files changed

+13
-3
lines changed

4 files changed

+13
-3
lines changed

core/src/main/java/org/wltea/analyzer/cfg/Configuration.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ public boolean isEnableRemoteDict() {
3838
public boolean isEnableLowercase() {
3939
return enableLowercase;
4040
}
41+
42+
public Configuration setEnableLowercase(boolean enableLowercase) {
43+
this.enableLowercase = enableLowercase;
44+
return this;
45+
}
4146

4247
public abstract Path getPath(String first, String... more);
4348

core/src/main/java/org/wltea/analyzer/core/AnalyzeContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ boolean needRefillBuffer(){
223223
* 累计当前的segmentBuff相对于reader起始位置的位移
224224
*/
225225
void markBufferOffset(){
226-
this.buffOffset += this.cursor;
226+
this.buffOffset += this.cursor + 1;
227227
}
228228

229229
/**

elasticsearch/src/main/java/com/infinilabs/ik/elasticsearch/IkAnalyzerProvider.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ public class IkAnalyzerProvider extends AbstractIndexAnalyzerProvider<IKAnalyzer
1212

1313
public IkAnalyzerProvider(IndexSettings indexSettings, Environment env, String name, Settings settings, boolean useSmart) {
1414
super(name);
15-
Configuration configuration = new ConfigurationSub(env, settings).setUseSmart(useSmart);
15+
// Get the enable_lowercase setting from analyzer settings, default to true
16+
boolean enableLowercase = settings.getAsBoolean("enable_lowercase", true);
17+
18+
Configuration configuration = new ConfigurationSub(env, settings).setUseSmart(useSmart).setEnableLowercase(enableLowercase);
1619
analyzer = new IKAnalyzer(configuration);
1720
}
1821

opensearch/src/main/java/com/infinilabs/ik/opensearch/IkAnalyzerProvider.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ public class IkAnalyzerProvider extends AbstractIndexAnalyzerProvider<IKAnalyzer
1212

1313
public IkAnalyzerProvider(IndexSettings indexSettings, Environment env, String name, Settings settings,boolean useSmart) {
1414
super(indexSettings, name, settings);
15+
// Get the enable_lowercase setting from analyzer settings, default to true
16+
boolean enableLowercase = settings.getAsBoolean("enable_lowercase", true);
1517

16-
Configuration configuration = new ConfigurationSub(env,settings).setUseSmart(useSmart);
18+
Configuration configuration = new ConfigurationSub(env,settings).setUseSmart(useSmart).setEnableLowercase(enableLowercase);
1719

1820
analyzer=new IKAnalyzer(configuration);
1921
}

0 commit comments

Comments
 (0)