用whoosh搜索文本

2024-06-26 14:42:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试着测试Whoosh的文本搜索功能,而现在一个简单的人工示例对我来说不起作用。我想我在这里遗漏了什么。在下面的代码中,我希望它给出一个单一的搜索结果,但我得到0点击率。

import sys
import os

from whoosh.fields import Schema, TEXT, STORED
from whoosh.index import create_in, open_dir
from whoosh.query import *

#creating the schema
schema = Schema(tax_id=STORED,
                name=TEXT(stored=True))

#creating the index
if not os.path.exists("index"):
    os.mkdir("index")

ix = create_in("index",schema)
ix = open_dir("index")
writer = ix.writer()
writer.add_document(tax_id="17",name=u"Methyliphilus methylitrophus")
writer.add_document(tax_id="17",name=u"Methylophilus methylotrophus Jenkins et al. 1987")
writer.add_document(tax_id="45",name=u"Chondromyces lichenicolus") 
writer.commit()

myquery = And([Term("name",u"Chondromyces")])
with ix.searcher() as searcher:
    print searcher.search(myquery)

输出:

<Top 0 Results for And([Term('name', u'Chondromyces lichenicolus')]) runtime=9.41753387451e-05>

谢谢!


Tags: namefromimportaddidindexosschema