You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Karl Wettin <ka...@gmail.com> on 2009/06/14 00:00:47 UTC

Re: svn commit: r784481 - in /lucene/java/trunk/contrib: ./ instantiated/src/java/org/apache/lucene/store/instantiated/ instantiated/src/test/org/apache/lucene/store/instantiated/

oups, an error in the code. im on it.

13 jun 2009 kl. 23.54 skrev kalle@apache.org:

> Author: kalle
> Date: Sat Jun 13 21:54:07 2009
> New Revision: 784481
>
> URL: http://svn.apache.org/viewvc?rev=784481&view=rev
> Log:
> LUCENE-1578: Support for loading unoptimized readers to the  
> constructor of InstantiatedIndex. (Karl Wettin)
>
>
> Added:
>    lucene/java/trunk/contrib/instantiated/src/test/org/apache/lucene/ 
> store/instantiated/TestUnoptimizedReaderOnConstructor.java
> Modified:
>    lucene/java/trunk/contrib/CHANGES.txt
>    lucene/java/trunk/contrib/instantiated/src/java/org/apache/lucene/ 
> store/instantiated/InstantiatedIndex.java
>    lucene/java/trunk/contrib/instantiated/src/test/org/apache/lucene/ 
> store/instantiated/TestIndicesEquals.java
>    lucene/java/trunk/contrib/instantiated/src/test/org/apache/lucene/ 
> store/instantiated/TestRealTime.java
>
> Modified: lucene/java/trunk/contrib/CHANGES.txt
> URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/CHANGES.txt?rev=784481&r1=784480&r2=784481&view=diff
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- lucene/java/trunk/contrib/CHANGES.txt (original)
> +++ lucene/java/trunk/contrib/CHANGES.txt Sat Jun 13 21:54:07 2009
> @@ -62,8 +62,11 @@
>     (Xiaoping Gao via Mike McCandless)
>
>
> -6. LUCENE-1676: Added DelimitedPayloadTokenFilter class for  
> automatically adding payloads "in-stream" (Grant Ingersoll)
> -
> + 6. LUCENE-1676: Added DelimitedPayloadTokenFilter class for  
> automatically adding payloads "in-stream" (Grant Ingersoll)
> +
> + 7. LUCENE-1578: Support for loading unoptimized readers to the
> +    constructor of InstantiatedIndex. (Karl Wettin)
> +
> Optimizations
>
>   1. LUCENE-1643: Re-use the collation key (RawCollationKey) for
>
> Modified: lucene/java/trunk/contrib/instantiated/src/java/org/apache/ 
> lucene/store/instantiated/InstantiatedIndex.java
> URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndex.java?rev=784481&r1=784480&r2=784481&view=diff
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- lucene/java/trunk/contrib/instantiated/src/java/org/apache/ 
> lucene/store/instantiated/InstantiatedIndex.java (original)
> +++ lucene/java/trunk/contrib/instantiated/src/java/org/apache/ 
> lucene/store/instantiated/InstantiatedIndex.java Sat Jun 13 21:54:07  
> 2009
> @@ -110,7 +110,8 @@
>   public InstantiatedIndex(IndexReader sourceIndexReader,  
> Set<String> fields) throws IOException {
>
>     if (!sourceIndexReader.isOptimized()) {
> -      throw new IOException("Source index is not optimized.");
> +      System.out.println(("Source index is not optimized."));
> +      //throw new IOException("Source index is not optimized.");
>     }
>
>
> @@ -170,11 +171,14 @@
>     }
>
>
> -    documentsByNumber = new  
> InstantiatedDocument[sourceIndexReader.numDocs()];
> +    documentsByNumber = new  
> InstantiatedDocument[sourceIndexReader.maxDoc()];
> +
>
>     // create documents
> -    for (int i = 0; i < sourceIndexReader.numDocs(); i++) {
> -      if (!sourceIndexReader.isDeleted(i)) {
> +    for (int i = 0; i < sourceIndexReader.maxDoc(); i++) {
> +      if (sourceIndexReader.isDeleted(i)) {
> +        deletedDocuments.add(i);
> +      } else {
>         InstantiatedDocument document = new InstantiatedDocument();
>         // copy stored fields from source reader
>         Document sourceDocument = sourceIndexReader.document(i);
> @@ -259,6 +263,9 @@
>
>     // load offsets to term-document informations
>     for (InstantiatedDocument document : getDocumentsByNumber()) {
> +      if (document == null) {
> +        continue; // deleted
> +      }
>       for (Field field : (List<Field>)  
> document.getDocument().getFields()) {
>         if (field.isTermVectorStored() &&  
> field.isStoreOffsetWithTermVector()) {
>           TermPositionVector termPositionVector =  
> (TermPositionVector)  
> sourceIndexReader.getTermFreqVector(document.getDocumentNumber(),  
> field.name());
>
> Modified: lucene/java/trunk/contrib/instantiated/src/test/org/apache/ 
> lucene/store/instantiated/TestIndicesEquals.java
> URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java?rev=784481&r1=784480&r2=784481&view=diff
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- lucene/java/trunk/contrib/instantiated/src/test/org/apache/ 
> lucene/store/instantiated/TestIndicesEquals.java (original)
> +++ lucene/java/trunk/contrib/instantiated/src/test/org/apache/ 
> lucene/store/instantiated/TestIndicesEquals.java Sat Jun 13 21:54:07  
> 2009
> @@ -40,6 +40,10 @@
> import org.apache.lucene.index.TermPositions;
> import org.apache.lucene.store.Directory;
> import org.apache.lucene.store.RAMDirectory;
> +import org.apache.lucene.search.IndexSearcher;
> +import org.apache.lucene.search.TermQuery;
> +import org.apache.lucene.search.TopDocCollector;
> +import org.apache.lucene.search.TopScoreDocCollector;
>
> /**
>  * Asserts equality of content and behaviour of two index readers.
>
> Modified: lucene/java/trunk/contrib/instantiated/src/test/org/apache/ 
> lucene/store/instantiated/TestRealTime.java
> URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestRealTime.java?rev=784481&r1=784480&r2=784481&view=diff
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- lucene/java/trunk/contrib/instantiated/src/test/org/apache/ 
> lucene/store/instantiated/TestRealTime.java (original)
> +++ lucene/java/trunk/contrib/instantiated/src/test/org/apache/ 
> lucene/store/instantiated/TestRealTime.java Sat Jun 13 21:54:07 2009
> @@ -24,6 +24,12 @@
> import org.apache.lucene.document.Field;
> import org.apache.lucene.index.Term;
>
> +/**
> + * Assert that the content of an index
> + * is instantly available
> + * for all open searchers
> + * also after a commit.
> + */
> public class TestRealTime extends TestCase {
>
>   public void test() throws Exception {
>
> Added: lucene/java/trunk/contrib/instantiated/src/test/org/apache/ 
> lucene/store/instantiated/TestUnoptimizedReaderOnConstructor.java
> URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestUnoptimizedReaderOnConstructor.java?rev=784481&view=auto
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- lucene/java/trunk/contrib/instantiated/src/test/org/apache/ 
> lucene/store/instantiated/TestUnoptimizedReaderOnConstructor.java  
> (added)
> +++ lucene/java/trunk/contrib/instantiated/src/test/org/apache/ 
> lucene/store/instantiated/TestUnoptimizedReaderOnConstructor.java  
> Sat Jun 13 21:54:07 2009
> @@ -0,0 +1,53 @@
> +package org.apache.lucene.store.instantiated;
> +
> +import junit.framework.TestCase;
> +
> +import java.io.IOException;
> +
> +import org.apache.lucene.index.IndexReader;
> +import org.apache.lucene.index.IndexWriter;
> +import org.apache.lucene.store.RAMDirectory;
> +import org.apache.lucene.store.Directory;
> +import org.apache.lucene.analysis.WhitespaceAnalyzer;
> +import org.apache.lucene.document.Document;
> +import org.apache.lucene.document.Field;
> +
> +/**
> + * @author kalle
> + * @since 2009-mar-30 13:15:49
> + */
> +public class TestUnoptimizedReaderOnConstructor extends TestCase {
> +
> +  public void test() throws Exception {
> +    Directory dir = new RAMDirectory();
> +    IndexWriter iw = new IndexWriter(dir, new WhitespaceAnalyzer(),  
> true, IndexWriter.MaxFieldLength.UNLIMITED);
> +    addDocument(iw, "Hello, world!");
> +    addDocument(iw, "All work and no play makes jack a dull boy");
> +    iw.commit("a");
> +    iw.close();
> +
> +    iw = new IndexWriter(dir, new WhitespaceAnalyzer(), false,  
> IndexWriter.MaxFieldLength.UNLIMITED);
> +    addDocument(iw, "Hello, tellus!");
> +    addDocument(iw, "All work and no play makes danny a dull boy");
> +    iw.commit("b");
> +    iw.close();
> +
> +    iw = new IndexWriter(dir, new WhitespaceAnalyzer(), false,  
> IndexWriter.MaxFieldLength.UNLIMITED);
> +    addDocument(iw, "Hello, earth!");
> +    addDocument(iw, "All work and no play makes wendy a dull girl");
> +    iw.commit("c");
> +    iw.close();
> +
> +    IndexReader unoptimizedReader = IndexReader.open(dir);
> +    unoptimizedReader.deleteDocument(2);
> +
> +    InstantiatedIndex ii = new InstantiatedIndex(unoptimizedReader);
> +
> +  }
> +
> +  private void addDocument(IndexWriter iw, String text) throws  
> IOException {
> +    Document doc = new Document();
> +    doc.add(new Field("field", text, Field.Store.NO,  
> Field.Index.ANALYZED));
> +    iw.addDocument(doc);
> +  }
> +}
>
>


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