1

ピルセンの特定のトークンの高 PMI 項を計算しようとしています。同僚が動作する Java コードをいくつかくれましたが、それを Python に変換するのに問題があります。特に、コードはカスタム コレクターに依存しています。最初のクエリ コードは次のとおりです。

def __init__(self, some_token, searcher, analyzer):
    super(PMICalculator, self).__init__()

    self.searcher = searcher
    self.analyzer = analyzer
    self.escaped_token = QueryParser.escape(some_token)
    self.query = QueryParser("text",self.analyzer).parse(self.escaped_token)
    self.term_count_collector = TermCountCollector(searcher)
    self.searcher.search(self.query, self.term_count_collector)
    self.terms = self.term_count_collector.getTerms()

Term Count Collector クラスは次のとおりです: http://snipt.org/vgGi8

self.searcher.searchこのコードは次のエラーで壊れます。

File <filename>, line 26, in __init__
    self.searcher.search(self.query, self.term_count_collector)
lucene.JavaError: org.apache.jcc.PythonException: collect() takes exactly 2 arguments (3    given)
TypeError: collect() takes exactly 2 arguments (3 given)

    Java stacktrace:
org.apache.jcc.PythonException: collect() takes exactly 2 arguments (3 given)
TypeError: collect() takes exactly 2 arguments (3 given)

    at org.apache.pylucene.search.PythonHitCollector.collect(Native Method)
    at org.apache.lucene.search.HitCollectorWrapper.collect(HitCollectorWrapper.java:46)
    at org.apache.lucene.search.TermScorer.score(TermScorer.java:86)
    at org.apache.lucene.search.TermScorer.score(TermScorer.java:74)
    at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:252)
    at org.apache.lucene.search.Searcher.search(Searcher.java:110)

私はいくつかのグーグル検索を行いましたが、役に立ちませんでした-私はluceneが初めてで、これが2.9.4でサポートされている機能ではないのか、ピルセンの問題なのか、コードが間違っているのかわかりません。助けてください!

4

0 に答える 0