You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by julien <j....@noos.fr> on 2004/01/21 21:31:15 UTC

RE : RE : Test issue with new version of .tis file

I didn't have an account to bug database, here is the code :


##################################

import java.io.File;
import java.io.IOException;
import java.util.Random;

import org.apache.lucene.analysis.WhitespaceAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;

/**
 * TestIndexTiiIssue.java description :
 * This class generate a :
 * java.io.IOException: read past EOF
	at
org.apache.lucene.store.InputStream.refill(InputStream.java(Compiled
Code))
	at
org.apache.lucene.index.SegmentTermEnum.next(SegmentTermEnum.java(Compil
ed Code))
	at
org.apache.lucene.index.SegmentTermEnum.next(SegmentTermEnum.java(Compil
ed Code))
	at
org.apache.lucene.index.SegmentTermEnum.next(SegmentTermEnum.java(Compil
ed Code))
	at
org.apache.lucene.index.SegmentTermEnum.next(SegmentTermEnum.java(Compil
ed Code))
	at
org.apache.lucene.index.SegmentMerger.mergeTermInfos(SegmentMerger.java(
Compiled Code))
	at
org.apache.lucene.index.SegmentMerger.mergeTermInfos(SegmentMerger.java(
Compiled Code))
	at
org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:192)
	at
org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:99)
	at
org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:430)
	at
org.apache.lucene.index.IndexWriter.flushRamSegments(IndexWriter.java:38
3)
	at
org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:303)
	at TestIndexTiiIssue.main(TestIndexTiiIssue.java(Compiled Code))
 *
 * at every execution with latest classes on CVS Lucene repository (
19/01/2004 ).
 *
 *
 * @author Julien GERARD
 * @version 1.0, 21 janv. 04
 */
public class TestIndexTiiIssue {
	private static char[] char_table = { 'A', 'B', 'C', 'D', 'E',
'F', 'G', 'H', 'I', 'J', 'K', 'L'
		, 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
'X', 'Y', 'Z'};

	private static final Random RANDOM = new Random();

	/**
	 * Random method
	 * @param i the max range value
	 * @return the random number generated
	 */
	private static int random(int i) {		  // for JDK 1.1
compatibility
    	int r = RANDOM.nextInt();
		if (r < 0)
			r = -r;
		return r % i;
	}


	/**
	 * No args needed
	 */
	public static void main(String[] args) {
		int nb_doc = 1000;

		try {
			IndexWriter iw = new IndexWriter(new
File("/index/"), new WhitespaceAnalyzer(), true);
			for (int i = 0 ; i < nb_doc ; i++) { // Doc loop

			//		iw.optimize();

				int nb_words = random(4)+1;
				StringBuffer word_list = new
StringBuffer(50);
				for ( int j = 0 ; j < nb_words ; j++ ) {
// Word loop
					int nb_letters = random(12)+1;
					StringBuffer word = new
StringBuffer(13);
					for ( int k = 0; k < nb_letters
; k++ ) { // Letters loop
	
word.append(char_table[random(char_table.length-1)]); // word
construction
					}
					word_list.append(word).append('
'); // word_list construction
				}

				Document doc = new Document();
				doc.add(Field.Text("TOKEN",
word_list.toString()));

				StringBuffer word = new
StringBuffer(13);
				int nb_letters = random(12)+1;
				for ( int k = 0; k < nb_letters ; k++ )
{ // Letters loop
	
word.append(char_table[random(char_table.length-1)]); // word
construction
				}
	
doc.add(Field.Keyword("FIELD_DISCRIMINATOR", word.toString()));


				StringBuffer word2 = new
StringBuffer(13);
				nb_letters = random(12)+1;
				for ( int k = 0; k < nb_letters ; k++ )
{ // Letters loop
	
word2.append(char_table[random(char_table.length-1)]); // word
construction
				}
	
doc.add(Field.Keyword("FIELD_DISCRIMINATOR2", word2.toString()));
				iw.addDocument(doc);

			}
			iw.optimize();
		} catch (IOException ioe ) {
			ioe.printStackTrace();
		}



	}
}

##################################################


---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-dev-help@jakarta.apache.org