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

搜索引擎

开发平台:

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. namespace Lucene.Net.Analysis
  18. {
  19. /// <summary> LowerCaseTokenizer performs the function of LetterTokenizer
  20. /// and LowerCaseFilter together.  It divides text at non-letters and converts
  21. /// them to lower case.  While it is functionally equivalent to the combination
  22. /// of LetterTokenizer and LowerCaseFilter, there is a performance advantage
  23. /// to doing the two tasks at once, hence this (redundant) implementation.
  24. /// <P>
  25. /// Note: this does a decent job for most European languages, but does a terrible
  26. /// job for some Asian languages, where words are not separated by spaces.
  27. /// </summary>
  28. public sealed class LowerCaseTokenizer : LetterTokenizer
  29. {
  30. /// <summary>Construct a new LowerCaseTokenizer. </summary>
  31. public LowerCaseTokenizer(System.IO.TextReader in_Renamed) : base(in_Renamed)
  32. {
  33. }
  34. /// <summary>Collects only characters which satisfy
  35. /// {@link Character#isLetter(char)}.
  36. /// </summary>
  37. protected internal override char Normalize(char c)
  38. {
  39. return System.Char.ToLower(c);
  40. }
  41. }
  42. }