0
whooshで150MBのファイルを作成しようとしています。しかし、それは範囲外のエラーリストのインデックスを示している:私はエラーの原因となる行を引用している。つまり、for x in range(len(id)):
です。論理的なインデックスレコードは、ドキュメントのID番号と同等です。IndexError:リストインデックスが範囲外(whoosh検索エンジンライブラリ内)のエラー
from whoosh import index
from whoosh.fields import Schema,ID, TEXT,NUMERIC
from whoosh import index
from whoosh.index import create_in
id = []
body = []
Score = []
count=0
doc_path='C:/Users/Abhi/Desktop/My_Experiments_with_truth/extracted_xml.txt'
with open(doc_path,'r+',encoding="utf8") as line:
for f in line:
count=count+1
if f.startswith('Id : '):
a = f.replace('Id : ','')
id.append(a)
#print(a)
elif f.startswith('body : '):
b = f.replace('body : ','')
body.append(b)
#print(b)
elif f.startswith('Score :'):
c = f.replace('Score :','')
Score.append(c)
#print(c)
if not os.path.exists("index"):
os.mkdir("index")
#design the Schema
schema=Schema(id_details=ID(stored=True),body_details=TEXT(stored=True),Score_details=NUMERIC(stored=True))
print(schema)
#creation of the index
ix = index.create_in("index", schema)
writer = ix.writer()
#Opening writer
for x in range(len(id)):
writer.add_document(id_details=id[x],body_details=body[x],Score_details=Score[x])
writer.commit()
print("Index created")
あなたの答えをありがとう...しかし、私はすでに問題を解明しています...ファイル...私は完全にファイルを解析することができません..私は試したutf-8,16,32および64、latin-1、asciiのような異なるエンコーディングですが、すべてのエンコーディングは部分データだけを読み込みます。テキストは英語です。それはXMLファイルであり、テキストファイルを解析します。私はテキストファイルを持っています。そして元のXMLファイルは私には利用できません。問題のエンコーディングでエンコーディングをガイドできますか? –