Hmmm ... good catch. With DocumentsWriter there is a max term length (currently 16384 chars). I think we should fix it to raise a clearer exception? I'll open an issue.
Mike On Fri, 17 Aug 2007 19:53:09 +0200, "karl wettin" <[EMAIL PROTECTED]> said: > When I add a field containing a really long term I get an AIOOBE. Is > this a documented feature? > > public static void main(String[] args) throws Exception { > RAMDirectory dir = new RAMDirectory(); > IndexWriter iw = new IndexWriter(dir, new StandardAnalyzer > (Collections.emptySet()), true); > StringBuffer buf = new StringBuffer(65535); > for (int i=0; i<32767; i++) { > buf.append("ha"); > } > Document doc = new Document(); > doc.add(new Field("f", "three tokens here " + buf.toString(), > Field.Store.NO, Field.Index.TOKENIZED)); > iw.addDocument(doc); > iw.close(); > dir.close(); > } > > Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException > at java.lang.System.arraycopy(Native Method) > at org.apache.lucene.index.DocumentsWriter$ThreadState > $FieldData.addPosition(DocumentsWriter.java:1462) > at org.apache.lucene.index.DocumentsWriter$ThreadState > $FieldData.invertField(DocumentsWriter.java:1285) > at org.apache.lucene.index.DocumentsWriter$ThreadState > $FieldData.processField(DocumentsWriter.java:1215) > at org.apache.lucene.index.DocumentsWriter > $ThreadState.processDocument(DocumentsWriter.java:936) > at org.apache.lucene.index.DocumentsWriter.addDocument > (DocumentsWriter.java:2147) > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]