내가 .NET 4.5을 실행하고 Lucene.Net 3.0.3 및 ä
이 a
대신 ae
로 변환됩니다로 (움라우트-행동에 대한 ASCIIFoldingFilter
를 "해결"하기 위해 노력하고 함께 MappingCharFilter을 어떻게 사용합니까 - 검색한다 예 : Geschäft
및 Geschaeft
은 모두 작동해야합니다.나는 Lucene.Net
Lucene.Net.Analysis.MappingCharFilter
-instance를 추가하는 시도
public sealed class LowerCaseKeywordAnalyzer : Lucene.Net.Analysis.KeywordAnalyzer
{
public override Lucene.Net.Analysis.TokenStream TokenStream(string fieldName, TextReader reader)
{
var keywordTokenizer = base.TokenStream(fieldName, reader);
var lowerCaseFilter = new Lucene.Net.Analysis.LowerCaseFilter(keywordTokenizer);
var asciiFoldingFilter = new Lucene.Net.Analysis.ASCIIFoldingFilter(lowerCaseFilter);
return asciiFoldingFilter;
}
}
가 : - 또는 TextReader
public sealed class LowerCaseKeywordAnalyzer : Lucene.Net.Analysis.KeywordAnalyzer
{
public override Lucene.Net.Analysis.TokenStream TokenStream(string fieldName, TextReader reader)
{
var keywordTokenizer = base.TokenStream(fieldName, reader);
var lowerCaseFilter = new Lucene.Net.Analysis.LowerCaseFilter(keywordTokenizer);
var mappingCharFilter = new Lucene.Net.Analysis.MappingCharFilter(/* get map from somewhere*/, ???);
var asciiFoldingFilter = new Lucene.Net.Analysis.ASCIIFoldingFilter(lowerCaseFilter);
return asciiFoldingFilter;
}
}
하지만 어떻게 내가 중 하나 CharStream
주입 않는다 -
나는 이미 내 분석기를 구현 예? 나는 Lucene.Net.Analysis.TokenStream
-instance (Lucene.Net.Analysis.LowerCaseFilter
또는 base.TokenStream()
) 중 하나를 가지고 있습니다 ...
작업을 수행하는 사용자 정의 Lucene.Net.Analysis.TokenFilter
을 작성하는 경우를 제외하고는이 작업을 수행 할 수있는 기회가 있습니까?