2017-02-13 12 views
1
import sys, os 
import lucene 

from java.io import File 
from org.apache.lucene.analysis.standard import StandardAnalyzer 
from org.apache.lucene.index import DirectoryReader 
from org.apache.lucene.queryparser.classic import QueryParser 
from org.apache.lucene.document import Document, Field 
from org.apache.lucene.index import IndexWriter, IndexWriterConfig 
from org.apache.lucene.store import SimpleFSDirectory 
from org.apache.lucene.util import Version 


def index(start, no, dom): 
    lucene.initVM() 
    # join base dir and index dir 
    path = raw_input("Path for index: ") 
    index_path = File(path) 
    directory = SimpleFSDirectory(index_path) # the index 

Я держу имея ошибки с SimpleFSDirectory, даже когда я попробовал другие вещи, как каталог = SimpleFSDirectory (File (os.path.abspath ("пути")))SimpleFSDirectory не работает в питона Lucene

InvalidArgsError : ('не инициализации', (,))

ответ

0

в 5.0, то SimpleFSDirectory т е р больше не принимает File аргумент, он принимает Path. Вы можете преобразовать в Path, с File.toPath().

Кроме того, я бы порекомендовал использовать вместо этого FSDirectory.open. FSDirectory.open позволяет lucene попытаться выбрать лучшую реализацию Directory для текущей среды, которая, как правило, будет работать лучше, чем SimpleFSDirectory.

Так, что-то вроде:

index_path = File(path).toPath() 
directory = FSDirectory.open(index_path)