Мы пытаемся конвертировать из v3.0.3 в v4.8.0-beta00007. . Net Framework 4.5.
Ранее у нас был пользовательский анализатор StopWords, унаследованный от Analyzer. После обновления существует абстрактный метод, который необходимо реализовать с именем: TokenStreamComponents CreateComponents (строка fieldName, читатель TextReader)
Следуя документации https://lucenenet.apache.org/download/version-4.html, чтобы реализовать этот метод, мы получение исключения: «Не удается прочитать из закрытого TextReader.»
Вот наша реализация:
protected override TokenStreamComponents CreateComponents(string fieldName, TextReader reader)
{
Analyzer analyzer = new StandardAnalyzer(_luceneVersion, reader);
TokenStream ts = analyzer.GetTokenStream(fieldName, reader);
var tokenizer = new StandardTokenizer(_luceneVersion, reader);
try
{
ts.Reset(); // Resets this stream to the beginning. (Required)
while (ts.IncrementToken())
{
}
ts.End(); // Perform end-of-stream operations, e.g. set the final offset.
}
catch (Exception ex)
{
_ = ex.Message;
throw;
}
finally
{
ts.Dispose();
}
return new TokenStreamComponents(tokenizer, ts);
}