增强了网站程序的搜索功能,完善OSGeo中国网站的搜索体验

增强了网站程序的搜索功能,完善OSGeo中国网站的搜索体验


发布日期: 2016-10-27 更新日期: 2016-10-27 编辑:bukun 浏览次数: 2459

标签:

摘要: 一直对网站程序的搜索功能不太满意。网站使用的是Whoosh全文搜索引擎,实现了网站内文档的全文检索,但是一直没有实现针对分类的搜索功能。 最近网站整合的差不多了,开始逐步完善网站的功能,最先想解决的,就是针对不同类别,进行搜索的功能。 重新看 Whoosh 文...

一直对网站程序的搜索功能不太满意。网站使用的是Whoosh全文搜索引擎,实现了网站内文档的全文检索,但是一直没有实现针对分类的搜索功能。

最近网站整合的差不多了,开始逐步完善网站的功能,最先想解决的,就是针对不同类别,进行搜索的功能。

重新看 Whoosh 文档,从里面找条件检索的方法,发现实现起来还是比较简单的。核心代码如下:

def search_pager(self, keyword,  catid = '',page_index=1, doc_per_page=10):
    q = parser.parse(keyword)
    if catid == '':
        pass
    else:
        q = And([Term("catid",catid),q ])
    try:
        tt = ix.searcher().search(q, limit=page_index * doc_per_page)
        return (tt[(page_index - 1) * doc_per_page: page_index * doc_per_page])
    finally:
        pass

源代码可参见: https://github.com/bukun/TorCMS/blob/master/src/torcms/core/tool/whoosh_tool.py

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org