Beispiel #1
0
        protected Index(Directory directory, string name, IndexDefinition indexDefinition, AbstractViewGenerator viewGenerator)
        {
            if (directory == null)
            {
                throw new ArgumentNullException("directory");
            }
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }
            if (indexDefinition == null)
            {
                throw new ArgumentNullException("indexDefinition");
            }
            if (viewGenerator == null)
            {
                throw new ArgumentNullException("viewGenerator");
            }

            this.name            = name;
            this.indexDefinition = indexDefinition;
            this.viewGenerator   = viewGenerator;
            logIndexing.DebugFormat("Creating index for {0}", name);
            this.directory = directory;

            // clear any locks that are currently held
            // this may happen if the server crashed while
            // writing to the index
            this.directory.ClearLock("write.lock");

            searcher = new CurrentIndexSearcher(new IndexSearcher(directory, true));
        }
Beispiel #2
0
 protected Index(Directory directory, string name,IndexDefinition indexDefinition)
 {
     this.name = name;
     this.indexDefinition = indexDefinition;
     log.DebugFormat("Creating index for {0}", name);
     this.directory = directory;
     searcher = new CurrentIndexSearcher
     {
         Searcher = new IndexSearcher(directory)
     };
 }
Beispiel #3
0
 private void RecreateSearcher()
 {
     using (searcher.Use())
     {
         searcher.MarkForDispoal();
         searcher = new CurrentIndexSearcher
         {
             Searcher = new IndexSearcher(directory, true)
         };
         Thread.MemoryBarrier(); // force other threads to see this write
     }
 }
Beispiel #4
0
        protected Index(Directory directory, string name, IndexDefinition indexDefinition)
        {
            this.name = name;
            this.indexDefinition = indexDefinition;
            log.DebugFormat("Creating index for {0}", name);
            this.directory = directory;

            // clear any locks that are currently held
            // this may happen if the server crashed while
            // writing to the index
            this.directory.ClearLock("write.lock");

            searcher = new CurrentIndexSearcher
            {
                Searcher = new IndexSearcher(directory, true)
            };
        }
Beispiel #5
0
        protected Index(Directory directory, string name, IndexDefinition indexDefinition)
        {
            this.name            = name;
            this.indexDefinition = indexDefinition;
            log.DebugFormat("Creating index for {0}", name);
            this.directory = directory;

            // clear any locks that are currently held
            // this may happen if the server crashed while
            // writing to the index
            this.directory.ClearLock("write.lock");

            searcher = new CurrentIndexSearcher
            {
                Searcher = new IndexSearcher(directory, true)
            };
        }
Beispiel #6
0
        private void RecreateSearcher()
        {
            IndexSearcher _;

            using (searcher.Use(out _))
            {
                searcher.MarkForDispoal();
                if (indexWriter == null)
                {
                    searcher = new CurrentIndexSearcher(new IndexSearcher(directory, true));
                }
                else
                {
                    searcher = new CurrentIndexSearcher(new IndexSearcher(indexWriter.GetReader()));
                }
                Thread.MemoryBarrier();                 // force other threads to see this write
            }
        }
Beispiel #7
0
		protected Index(Directory directory, string name, IndexDefinition indexDefinition, AbstractViewGenerator viewGenerator)
		{
			if (directory == null) throw new ArgumentNullException("directory");
			if (name == null) throw new ArgumentNullException("name");
			if (indexDefinition == null) throw new ArgumentNullException("indexDefinition");
			if (viewGenerator == null) throw new ArgumentNullException("viewGenerator");

			this.name = name;
			this.indexDefinition = indexDefinition;
			this.viewGenerator = viewGenerator;
			logIndexing.DebugFormat("Creating index for {0}", name);
			this.directory = directory;

			// clear any locks that are currently held
			// this may happen if the server crashed while
			// writing to the index
			this.directory.ClearLock("write.lock");

			searcher = new CurrentIndexSearcher(new IndexSearcher(directory, true));
		}
Beispiel #8
0
 public CleanUp(CurrentIndexSearcher parent)
 {
     this.parent = parent;
 }
Beispiel #9
0
 public CleanUp(CurrentIndexSearcher parent)
 {
     this.parent = parent;
 }
Beispiel #10
0
 private void RecreateSearcher()
 {
     using (searcher.Use())
     {
         searcher.MarkForDispoal();
         searcher = new CurrentIndexSearcher
         {
             Searcher = new IndexSearcher(directory, true)
         };
         Thread.MemoryBarrier(); // force other threads to see this write
     }
 }
Beispiel #11
0
		private void RecreateSearcher()
		{
			IndexSearcher _;
			using (searcher.Use(out _))
			{
				searcher.MarkForDispoal();
				if (indexWriter == null)
				{
					searcher = new CurrentIndexSearcher(new IndexSearcher(directory, true));
				}
				else
				{
					searcher = new CurrentIndexSearcher(new IndexSearcher(indexWriter.GetReader()));
				}
				Thread.MemoryBarrier(); // force other threads to see this write
			}
		}