使用Whoosh实现即时搜索 - 索引和搜索MySQL表并输出JSON结果

0 投票
1 回答
1450 浏览
提问于 2025-04-16 19:50

我想用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])

撰写回答