我是python中的新手并且嗖的一声也许是因为我很难打印搜索后返回的所有匹配。
这是我的代码:
from whoosh.qparser import QueryParser
with ix.searcher() as searcher:
query = QueryParser("title", ix.schema).parse("hd")
results = searcher.search(query)
print results[0]
print results
print len(results), 'resultados'
这是输出:
<Hit {'brand': u'Best Buy', 'title': u'best buy easy snap hd', 'superpadre': u'audio foto video', 'familia': u'videocamaras', 'detalle_short': u'Easy Snap HD es una pequena videocamara con grabacion en alta definicion ideada para poder llevarla a cualquier lugar. Su ligero peso y su visor TFT LCD de 2,7 con'}>
<Top 10 Results for Term('title', u'hd') runtime=0.000622987747192>
18 resultados
答案 0 :(得分:4)
接受的答案具有误导性;它将为您提供搜索中“限制”参数限制的点击次数。
要修改该限制,请使用:
results = searcher.search(query, limit=None)
用。搜索。
答案 1 :(得分:1)
要打印所有结果,您应该遍历对象results
:
for r in results:
print r
print "title :", r["title"] # print the title of each result.
答案 2 :(得分:0)
看起来你已经走在正确的轨道上了。但实际上可能只有一个结果。
根据whoosh docs,致电:
LEN(结果)
就像你一样,为你提供搜索匹配的总数。
因此,如果结果在此处显示“1 resultados”,则可能是所有索引编制的。