用xapian跟mmseg实现中文搜索
xapian是一个开源的信息检索项目,类似于lucence,官网地址:http://xapian.org/。
安装:用apt-get可以在ubuntu里安装如下模块:
apt-xapian-index - maintenance tools for a Xapian index of Debian packages
libxapian15 - Search engine library
python-xapian - Xapian search engine interface for Python
如果是用django,可以安装:python-django-djapian - Search API for Django using Xapian
?
mmseg是一个国人写的中文分词模块,网址:http://pypi.python.org/pypi/mmseg/1.3.0;
?
用mmseg加上xapian就可以实现中文搜索的功能了。
?好了,在我的项目中,原始数据是保存在数据库中的,所以需要从数据库中读出数据,再来建立索引,所以建立索引的代码如下:
?
def search_book(request): search_words = request.REQUEST.get('search_words') try: page = int(request.GET.get('page', '1')) except ValueError: page = 1 if request.method == 'POST': page = 1 books = SEARCH.search_by_page(search_words, page) t=get_template('book/search_result.html') c=RequestContext(request,locals()) return HttpResponse(t.render(c))