RegexQuery.cs
上传用户:zhangkuixh
上传日期:2013-09-30
资源大小:5473k
文件大小:1k
源码类别:

搜索引擎

开发平台:

C#

  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.
  15.  */
  16. using System;
  17. using IndexReader = Lucene.Net.Index.IndexReader;
  18. using Term = Lucene.Net.Index.Term;
  19. using FilteredTermEnum = Lucene.Net.Search.FilteredTermEnum;
  20. using MultiTermQuery = Lucene.Net.Search.MultiTermQuery;
  21. namespace Lucene.Net.Search.Regex
  22. {
  23. [Serializable]
  24. public class RegexQuery : MultiTermQuery
  25. {
  26. public RegexQuery(Term term) : base(term)
  27. {
  28. }
  29. protected internal override FilteredTermEnum GetEnum(IndexReader reader)
  30. {
  31. Term term = new Term(GetTerm().Field(), GetTerm().Text());
  32. return new RegexTermEnum(reader, term);
  33. }
  34. public  override bool Equals(System.Object o)
  35. {
  36. if (o is RegexQuery)
  37. return base.Equals(o);
  38. return false;
  39. }
  40.         public override int GetHashCode()
  41. {
  42. return base.GetHashCode();
  43. }
  44. }
  45. }