如何在Whoosh中处理文件?

时间:2015-03-31 13:12:48

标签: python python-2.7 whoosh

在构建搜索引擎的冒险中,我开始使用Whoosh。教程和基于Web的材料都很好。 Stackoverflow也有相当大的问题和答案。最初的实验看起来很顺利。但我想处理位于我机器各个部分的文件。我发现“来自whoosh.filedb.filestore导入FileStorage”,但我正在寻找一个简单的例子来开始。 我尝试了如下的东西,它可能会给出一些结果,但它会好吗? 如果有人可以请求查看并更正?

>>> txt_file1=open("/python27/whooshtext1.txt","r").read()
>>> txt_file2=open("/python27/whooshtext3.txt","r").read()
>>> writer.add_document(title=u"First document", path= unicode("indexdir"+os.sep+"a"),content=u"txt_file1")
>>> writer.add_document(title=u"Second document", path= unicode("indexdir"+os.sep+"b"),content=u"txt_file2")
>>> writer.commit()
>>> with ix.searcher() as searcher:
    query = QueryParser("content", ix.schema).parse("flood")
        results = searcher.search(query)
        print results
        for result in results:
        print result


<Top 0 Results for Term('content', u'flood') runtime=0.000124042337439>
>>> 

1 个答案:

答案 0 :(得分:0)

您应该在writer.add_documentcontent=txt_file1.read()而不是content=u"txt_file1"中传递文本文件的内容而不是其名称。第二个文件也一样。

确保“&#34; flood&#34;存在于其中一个文件中。