Пример #1
0
        public virtual void  TestAddIndexesAndDoDeletesThreads()
        {
            int numIter = 5;
            int numDirs = 3;

            Directory   mainDir    = new MockRAMDirectory();
            IndexWriter mainWriter = new IndexWriter(mainDir, new WhitespaceAnalyzer(), IndexWriter.MaxFieldLength.LIMITED);

            mainWriter.SetInfoStream(infoStream);
            AddDirectoriesThreads addDirThreads = new AddDirectoriesThreads(this, numIter, mainWriter);

            addDirThreads.LaunchThreads(numDirs);
            addDirThreads.JoinThreads();

            //Assert.AreEqual(100 + numDirs * (3 * numIter / 4) * addDirThreads.NUM_THREADS
            //    * addDirThreads.NUM_INIT_DOCS, addDirThreads.mainWriter.numDocs());
            Assert.AreEqual(addDirThreads.count.IntValue(), addDirThreads.mainWriter.NumDocs());

            addDirThreads.Close(true);

            Assert.IsTrue(addDirThreads.failures.Count == 0);

            _TestUtil.CheckIndex(mainDir);

            IndexReader reader = IndexReader.Open(mainDir);

            Assert.AreEqual(addDirThreads.count.IntValue(), reader.NumDocs());
            //Assert.AreEqual(100 + numDirs * (3 * numIter / 4) * addDirThreads.NUM_THREADS
            //    * addDirThreads.NUM_INIT_DOCS, reader.numDocs());
            reader.Close();

            addDirThreads.CloseDir();
            mainDir.Close();
        }
Пример #2
0
 private void  InitBlock(int numIter, AddDirectoriesThreads enclosingInstance)
 {
     this.numIter           = numIter;
     this.enclosingInstance = enclosingInstance;
 }
Пример #3
0
 public AnonymousClassThread2(int numIter, AddDirectoriesThreads enclosingInstance)
 {
     InitBlock(numIter, enclosingInstance);
 }
Пример #4
0
 private void  InitBlock(int numIter, AddDirectoriesThreads enclosingInstance)
 {
     this.numIter = numIter;
     this.enclosingInstance = enclosingInstance;
 }
Пример #5
0
 public AnonymousClassThread2(int numIter, AddDirectoriesThreads enclosingInstance)
 {
     InitBlock(numIter, enclosingInstance);
 }
Пример #6
0
        public virtual void  TestAddIndexesAndDoDeletesThreads()
        {
            int numIter = 5;
            int numDirs = 3;
            
            Directory mainDir = new MockRAMDirectory();
            IndexWriter mainWriter = new IndexWriter(mainDir, new WhitespaceAnalyzer(), IndexWriter.MaxFieldLength.LIMITED);
            mainWriter.SetInfoStream(infoStream);
            AddDirectoriesThreads addDirThreads = new AddDirectoriesThreads(this, numIter, mainWriter);
            addDirThreads.LaunchThreads(numDirs);
            addDirThreads.JoinThreads();
            
            //Assert.AreEqual(100 + numDirs * (3 * numIter / 4) * addDirThreads.NUM_THREADS
            //    * addDirThreads.NUM_INIT_DOCS, addDirThreads.mainWriter.numDocs());
            Assert.AreEqual(addDirThreads.count.IntValue(), addDirThreads.mainWriter.NumDocs());
            
            addDirThreads.Close(true);
            
            Assert.IsTrue(addDirThreads.failures.Count == 0);
            
            _TestUtil.CheckIndex(mainDir);

            IndexReader reader = IndexReader.Open(mainDir, true);
            Assert.AreEqual(addDirThreads.count.IntValue(), reader.NumDocs());
            //Assert.AreEqual(100 + numDirs * (3 * numIter / 4) * addDirThreads.NUM_THREADS
            //    * addDirThreads.NUM_INIT_DOCS, reader.numDocs());
            reader.Close();
            
            addDirThreads.CloseDir();
            mainDir.Close();
        }
Пример #7
0
 public ThreadAnonymousInnerClassHelper(AddDirectoriesThreads outerInstance, int numIter)
 {
     this.OuterInstance = outerInstance;
     this.NumIter = numIter;
 }
Пример #8
0
        public virtual void TestAddIndexesAndDoDeletesThreads()
        {
            const int numIter = 2;
            int numDirs = 3;

            Directory mainDir = GetAssertNoDeletesDirectory(NewDirectory());

            IndexWriter mainWriter = new IndexWriter(mainDir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetMergePolicy(NewLogMergePolicy()));
            TestUtil.ReduceOpenFiles(mainWriter);

            AddDirectoriesThreads addDirThreads = new AddDirectoriesThreads(this, numIter, mainWriter);
            addDirThreads.LaunchThreads(numDirs);
            addDirThreads.JoinThreads();

            //Assert.AreEqual(100 + numDirs * (3 * numIter / 4) * addDirThreads.numThreads
            //    * addDirThreads.NUM_INIT_DOCS, addDirThreads.mainWriter.NumDocs());
            Assert.AreEqual(addDirThreads.Count.Get(), addDirThreads.MainWriter.NumDocs());

            addDirThreads.Close(true);

            Assert.IsTrue(addDirThreads.Failures.Count == 0);

            TestUtil.CheckIndex(mainDir);

            IndexReader reader = DirectoryReader.Open(mainDir);
            Assert.AreEqual(addDirThreads.Count.Get(), reader.NumDocs());
            //Assert.AreEqual(100 + numDirs * (3 * numIter / 4) * addDirThreads.numThreads
            //    * addDirThreads.NUM_INIT_DOCS, reader.NumDocs());
            reader.Dispose();

            addDirThreads.CloseDir();
            mainDir.Dispose();
        }