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.
17 using Token
= Lucene
.Net
.Analysis
.Token
;
18 using TokenFilter
= Lucene
.Net
.Analysis
.TokenFilter
;
19 using TokenStream
= Lucene
.Net
.Analysis
.TokenStream
;
20 namespace Lucene
.Net
.Analysis
.RU
23 /// <summary> Normalizes token text to lower case, analyzing given ("russian") charset.
26 /// <author> Boris Okner, b.okner@rogers.com
28 /// <version> $Id: RussianLowerCaseFilter.cs,v 1.2 2005/01/17 19:54:28 joeshaw Exp $
30 public sealed class RussianLowerCaseFilter
: TokenFilter
32 internal char[] charset
;
34 public RussianLowerCaseFilter(TokenStream in_Renamed
, char[] charset
):base(in_Renamed
)
36 this.charset
= charset
;
39 public override Token
Next()
41 Token t
= input
.Next();
46 System
.String txt
= t
.TermText();
48 char[] chArray
= txt
.ToCharArray();
49 for (int i
= 0; i
< chArray
.Length
; i
++)
51 chArray
[i
] = RussianCharsets
.ToLowerCase(chArray
[i
], charset
);
54 System
.String newTxt
= new System
.String(chArray
);
56 Token newToken
= new Token(newTxt
, t
.StartOffset(), t
.EndOffset());