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]

Reply via email to