FileDocCategorySizeDatePackage
TestWindowsMMap.javaAPI DocApache Lucene 2.2.03234Sat Jun 16 22:20:24 BST 2007org.apache.lucene.store

TestWindowsMMap

public class TestWindowsMMap extends TestCase
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Fields Summary
private static final String
alphabet
private Random
random
private static final String
storePathname
Constructors Summary
Methods Summary
private java.lang.StringrandomField()

		int fl = 1 + random.nextInt(3);
		StringBuffer fb = new StringBuffer();
		for(int fx = 0; fx < fl; fx ++) {
			fb.append(randomToken());
			fb.append(" ");
		}
		return fb.toString();
	
private java.lang.StringrandomToken()

		int tl = 1 + random.nextInt(7);
		StringBuffer sb = new StringBuffer();
		for(int cx = 0; cx < tl; cx ++) {
			int c = random.nextInt(25);
			sb.append(alphabet.substring(c, c+1));
		}
		return sb.toString();
	
private voidrmDir(java.io.File dir)

          File[] files = dir.listFiles();
          for (int i = 0; i < files.length; i++) {
            files[i].delete();
          }
          dir.delete();
        
public voidsetUp()

	
	   
		random = new Random();
		System.setProperty("org.apache.lucene.FSDirectory.class", "org.apache.lucene.store.MMapDirectory");
	
public voidtestMmapIndex()


	     
		FSDirectory storeDirectory;
		storeDirectory = FSDirectory.getDirectory(storePathname);

		// plan to add a set of useful stopwords, consider changing some of the
		// interior filters.
		StandardAnalyzer analyzer = new StandardAnalyzer(new HashSet());
		// TODO: something about lock timeouts and leftover locks.
		IndexWriter writer = new IndexWriter(storeDirectory, analyzer, true);
		IndexSearcher searcher = new IndexSearcher(storePathname);
		
		for(int dx = 0; dx < 1000; dx ++) {
			String f = randomField();
			Document doc = new Document();
			doc.add(new Field("data", f, Field.Store.YES, Field.Index.TOKENIZED));	
			writer.addDocument(doc);
		}
		
		searcher.close();
		writer.close();
                rmDir(new File(storePathname));