我想將一些Java Lucene代碼移植到pylucene(v 2.3.1)。我是 使用 http://svn.apache.org/viewcvs.cgi/lucene/pylucene/trunk/samples/和 中的例子大部分的pylucene似乎進入我的python(Ubuntu 12.04,pydev 2.6.0,eclipse 3.7.2)環境就好了。例如,我能夠執行 lucene.initVM()(表示JCC就位)及定義一個波特 詞幹以下從 採取的示例... /樣品/ PorterStemmerAnalyzer.py經由:只有部分的pylucene可用?
self.analyzer = PorterStemmerAnalyzer()
但是當我嘗試創建一個新的IndexWriter,它絆倒在 最後一個參數的構造函數:
self.writer = lucene.IndexWriter(self.store, self.analyzer, True, lucene.IndexWriter.MaxFieldLength.LIMITED)
我得到這個錯誤:
AttributeError: type object 'IndexWriter' has no attribute 'MaxFieldLength'.
這是有我此刻難倒了錯誤,但也有 其他幾個黑客(從他們的版本... /樣本)我也取得了 (也擔心):
與lucene.LucenePackage
lucene.SimpleFSDirectory與lucene.MMapDirectory
爲了遠得到這個替換lucene.Version.LUCENE_CURRENT。
http://lucene.apache.org/pylucene/features.html說:「PyLucene API 公開了PyLucene模塊中平面命名空間中的所有Java Lucene類。」這似乎並不完全正確, lucene.StopAnalyzer.ENGLISH_STOP_WORDS_SET是pydev已知的,而 lucene.ENGLISH_STOP_WORDS_SET不是。
所以它似乎我得到的/舊版本的一部分/ ...? pylucene 正確使用,但不是全部!?爲什麼會這樣呢?