Lucene.Net
3.0.3
Lucene.Net is a .NET port of the Java Lucene Indexing Library
Main Page
Packages
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Properties
core
Search
PhraseQueue.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
using
System;
19
using
Lucene.Net.Util;
20
21
namespace
Lucene.Net.Search
22
{
23
24
sealed
class
PhraseQueue
:
PriorityQueue
<PhrasePositions>
25
{
26
internal
PhraseQueue
(
int
size)
27
{
28
Initialize(size);
29
}
30
31
public
override
bool
LessThan(
PhrasePositions
pp1,
PhrasePositions
pp2)
32
{
33
if
(pp1.doc == pp2.doc)
34
if
(pp1.position == pp2.position)
35
// same doc and pp.position, so decide by actual term positions.
36
// rely on: pp.position == tp.position - offset.
37
return
pp1.offset < pp2.offset;
38
else
39
return
pp1.position < pp2.position;
40
else
41
return
pp1.doc < pp2.doc;
42
}
43
}
44
}
Generated on Thu Jan 3 2013 02:12:46 for Lucene.Net by
1.8.3