Restrict term length to never exceed Lucene's fixed term length
Change-Id: Icc3be552e95ca15967b544168e0c3be4d533d00f
diff --git a/src/main/java/de/ids_mannheim/korap/index/MultiTerm.java b/src/main/java/de/ids_mannheim/korap/index/MultiTerm.java
index 5303876..ae49892 100644
--- a/src/main/java/de/ids_mannheim/korap/index/MultiTerm.java
+++ b/src/main/java/de/ids_mannheim/korap/index/MultiTerm.java
@@ -56,6 +56,8 @@
private static short i, l;
+ private static final int MAX_TERM_LENGTH = 1024;
+
// This advices the java compiler to ignore all loggings
public static final boolean DEBUG = false;
private final Logger log = LoggerFactory
@@ -122,6 +124,11 @@
* @return The {@link MultIterm} object for chaining.
*/
public MultiTerm setTerm (String term) {
+ if (term.length() > (MAX_TERM_LENGTH - 2)) {
+ term = term.substring(0, MAX_TERM_LENGTH - 2);
+ log.warn("Term %s... exceeds %i cahracters - cutted", term, MAX_TERM_LENGTH);
+ }
+
this.term = term;
return this;
};
@@ -468,7 +475,7 @@
+ termSurface[0]);
};
};
- this.term = _unescape(stringOffset[0]);
+ this.setTerm(_unescape(stringOffset[0]));
};