我正在用草堆和whoosh作为django应用程序的后端。
有没有办法查看由whoosh生成的索引的内容(以易于阅读的格式)?我想看看哪些数据是索引的,以及如何更好地理解它是如何工作的。

最佳答案

从Python的交互式控制台可以很容易地做到这一点:

>>> from whoosh.index import open_dir
>>> ix = open_dir('whoosh_index')
>>> ix.schema
<<< <Schema: ['author', 'author_exact', 'content', 'django_ct', 'django_id', 'id', 'lexer', 'lexer_exact', 'published', 'published_exact']>

你可以直接在索引上执行搜索查询,做各种有趣的事情。要获取所有文档,我可以这样做:
>>> from whoosh.query import Every
>>> results = ix.searcher().search(Every('content'))

如果你想把它全部打印出来(用于查看或其他用途),你可以很容易地使用Python脚本。
for result in results:
    print "Rank: %s Id: %s Author: %s" % (result.rank, result['id'], result['author'])
    print "Content:"
    print result['content']

您还可以在django视图中直接从whoosh返回文档(可能需要使用django的模板系统进行漂亮的格式化):有关详细信息,请参阅whoosh文档:http://packages.python.org/Whoosh/index.html

关于python - 飞快指数查看器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2395675/

10-13 07:41