使用Whoosh实现即时搜索 - 索引和搜索MySQL表并输出JSON结果
我想用Whoosh给一个MySQL表建立索引,并创建一个即时搜索页面,所以我需要Whoosh搜索的结果是JSON格式的。有没有现成的脚本或者项目可以实现这个功能?我搜索过,但只找到Django的Haystack搜索。
如果没有的话,能不能给我一些大致的建议,告诉我该怎么做?
谢谢。
1 个回答
4
Whoosh的Results对象其实就是一个字典的列表。简单来说,字典就像是一个存储数据的盒子,里面有键(名字)和对应的值(内容)。你可以把它想象成一个表格,每一行都是一个字典,包含了一些相关的信息。具体的例子可以参考这里。
>>> # Show the best hit's stored fields
>>> results[0]
{"title": u"Hello World in Python", "path": u"/a/b/c"}
>>> results[0:2]
[{"title": u"Hello World in Python", "path": u"/a/b/c"}, {"title": u"Foo", "path": u"/bar"}]
你可以很简单地把这个转换成JSON格式:
import json
def results2json(results):
return json.dumps([r for r in results])