2 * Copyright 2004 The Apache Software Foundation
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using IndexReader
= Lucene
.Net
.Index
.IndexReader
;
19 using Term
= Lucene
.Net
.Index
.Term
;
21 namespace Lucene
.Net
.Search
24 /// <summary>Implements the wildcard search query. Supported wildcards are <code>*</code>, which
25 /// matches any character sequence (including the empty one), and <code>?</code>,
26 /// which matches any single character. Note this query can be slow, as it
27 /// needs to iterate over many terms. In order to prevent extremely slow WildcardQueries,
28 /// a Wildcard term should not start with one of the wildcards <code>*</code> or
32 /// <seealso cref="WildcardTermEnum">
35 public class WildcardQuery
: MultiTermQuery
37 public WildcardQuery(Term term
) : base(term
)
41 protected internal override FilteredTermEnum
GetEnum(IndexReader reader
)
43 return new WildcardTermEnum(reader
, GetTerm());
46 public override bool Equals(System
.Object o
)
48 if (o
is WildcardQuery
)
49 return base.Equals(o
);
53 public override int GetHashCode()
55 return base.GetHashCode();