QueryResponses.cs, DumpIndex.cs, IQueryResult.cs, QueryExecutor.cs, QueryResult.cs...
[beagle.git] / beagled / Lucene.Net / Search / WildcardQuery.cs
blob742dfd5d3adf86b2fa0d5f42a9f63214bf505096
1 /*
2 * Copyright 2004 The Apache Software Foundation
3 *
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
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
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.
17 using System;
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
29 /// <code>?</code>.
30 ///
31 /// </summary>
32 /// <seealso cref="WildcardTermEnum">
33 /// </seealso>
34 [Serializable]
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);
51 return false;
53 public override int GetHashCode()
55 return base.GetHashCode();