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]));
     };