如何在pylucene 3.5中实例化StandardAnalyzer? Version对象在哪里?

时间:2012-04-04 23:51:43

标签: python lucene pylucene

我正在尝试使用PyLucene,我找不到任何实际在我当前版本中运行的代码示例。 (例如,参见http://nullege.com/codes/search/PyLucene.StandardAnalyzer)。

在某些时候,您需要实例化分析器。似乎应该通过调用lucene.StandardAnalyzer()来完成。但是,这会产生错误:

lucene.InvalidArgsError: (<type 'StandardAnalyzer'>, '__init__', ())

错误的原因非常明显:位于http://lucene.apache.org/core/old_versioned_docs/versions/3_0_3/api/core/index.html的StandardAnalyzer文档说它需要一个Version对象的参数。

那么我从哪里获得Version对象?

代码示例中出现了以下内容,但实际上并不起作用:

  • lucene.Version.LUCENE_CURRENT
  • lucene.Version.LUCENE_30

这些名称未定义。这是我的lucene.Version类中的内容:

>>> print dir(lucene.Version)
['__class__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_jobject', 'cast_', 'class', 'compareTo', 'declaringClass', 'equals', 'getClass', 'getDeclaringClass', 'hashCode', 'instance_', 'name', 'notify', 'notifyAll', 'of_', 'onOrAfter', 'ordinal', 'parameters_', 'toString', 'valueOf', 'values', 'wait']

2 个答案:

答案 0 :(得分:1)

目前,PyLucene发布的tarball有一个'samples'目录,其中包含可与该特定版本一起使用的代码。

答案 1 :(得分:0)

我想通了,现在我终于发布了这个答案:

运行lucene.initVM()后,lucene.Version对象将填充各种版本对象,例如lucene.Version.LUCENE_35

还有一个有效的PyLucene示例:

http://metaoptimize.com/blog/2010/08/09/pylucene-3-0-in-60-seconds-tutorial-sample-code-for-the-3-0-api/