2012-04-04 3 views
1

PyLucene을 사용하려고하는데 현재 버전에서 실제로 실행되는 코드 예제를 찾을 수 없습니다. (예 : http://nullege.com/codes/search/PyLucene.StandardAnalyzer 참조).pylucene 3.5에서 StandardAnalyzer를 인스턴스화하는 방법은 무엇입니까? Version 객체는 어디에 있습니까?

어느 시점에서 분석기를 인스턴스화해야합니다. lucene.StandardAnalyzer()를 호출하여 수행해야하는 것으로 보입니다. 그러나,이 오류를 제공합니다

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

오류에 대한 이유는 매우 분명하다 다음 StandardAnalyzer 문서는, http://lucene.apache.org/core/old_versioned_docs/versions/3_0_3/api/core/index.html에서,이 버전의 객체 인 인수가 필요했다.

버전 개체는 어디에서 가져 옵니까?

다음 가지 코드 샘플에 출연하지만, 일을 실제로하지 않은 :

  • 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'] 
+0

좋아요, 알아 냈습니다. 'lucene.initVM()'을 실행하면 lucene.Version 객체는'lucene.Version.LUCENE_35'와 같은 다양한 버전 객체로 채워질 것입니다. 이것은 StandardAnalyzer를 구성하는 라인 : 분석기 = lucene.StandardAnalyzer (lucene.Version.LUCENE_35) – rspeer

답변

0

나는 그것을 파악하고, 지금은 마침내 대답으로이를 게시 할 수 :

당신이 lucene.initVM() 실행 한 후 lucene.Version 개체 것 lucene.Version.LUCENE_35과 같은 다양한 버전 개체로 채워야합니다.

그리고 작업 PyLucene의 예에서있다 : PyLucene의 출시

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

+0

당신이 initVM()와 버전하지만 튜토리얼 예에 대한 링크에 대한 맞아 '은 구식이고 아무튼 최신 버전의 pylucene – alvas

+1

pylucene에서 많은 작업이 중단되었으므로 최신 API는 http : // nullege.com/codes/search/PyLucene'을 참조하십시오. – alvas

1

이 일 타르볼은 특정 버전에서 작동하는 '샘플'디렉토리에 포함 된 코드가 있습니다.