使用pylucene定制收集器2.9.4

时间:2012-10-18 15:52:43

标签: java python lucene nlp pylucene

我正在尝试计算pylucene中特定令牌的高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支持的功能,或者它是一个pylucene问题,还是我的代码是错的。请帮忙!

0 个答案:

没有答案