我正在尝试使用 pylucene从http://searchhub.org/2010/04/18/refresh-getting-started-with-payloads/实现 java 的 python 版本。我的分析器在对 DelimitedTokenFilter 的 init 调用中产生 lucene.InvalidArgsError
课程如下,非常感谢任何帮助。使用 pylucene 3.6 构建中的 JAR 文件编译的 java 版本工作正常。
import lucene
class PayloadAnalyzer(lucene.PythonAnalyzer):
encoder = None
def __init__(self, encoder):
lucene.PythonAnalyzer.__init__(self)
self.encoder = encoder
def tokenStream(self, fieldName, reader):
result = lucene.WhitespaceTokenizer( lucene.Version.LUCENE_CURRENT, reader )
result = lucene.LowerCaseFilter( lucene.Version.LUCENE_CURRENT, result )
result = lucene.DelimitedPayloadTokenFilter( result, '|', self.encoder )
return result