Lucene.Net
3.0.3
Lucene.Net is a port of the Lucene search engine library, written in C# and targeted at .NET runtime users.
Main Page
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Properties
Pages
core
Index
SerialMergeScheduler.cs
Go to the documentation of this file.
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one or more
3
* contributor license agreements. See the NOTICE file distributed with
4
* this work for additional information regarding copyright ownership.
5
* The ASF licenses this file to You under the Apache License, Version 2.0
6
* (the "License"); you may not use this file except in compliance with
7
* the License. You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
18
namespace
Lucene.Net.Index
19
{
20
21
/// <summary>A <see cref="MergeScheduler" /> that simply does each merge
22
/// sequentially, using the current thread.
23
/// </summary>
24
public
class
SerialMergeScheduler
:
MergeScheduler
25
{
26
27
/// <summary>Just do the merges in sequence. We do this
28
/// "synchronized" so that even if the application is using
29
/// multiple threads, only one merge may run at a time.
30
/// </summary>
31
public
override
void
Merge(
IndexWriter
writer)
32
{
33
lock (
this
)
34
{
35
while
(
true
)
36
{
37
MergePolicy
.OneMerge merge = writer.GetNextMerge();
38
if
(merge == null)
39
break
;
40
writer.Merge(merge);
41
}
42
}
43
}
44
45
protected
override
void
Dispose(
bool
disposing)
46
{
47
}
48
}
49
}
Generated on Thu Jan 3 2013 02:34:12 for Lucene.Net by
1.8.3