使用Solr快速实现Django的全文搜索。http://fzuslideblog.appspot.com/2010/03/25/django_solr_search.html原文地址
Django本身并没有提供全文搜索的功能,而自己给Django添加全文搜索的功能选择也有很多,可以用Sphinx,Lucene,Xapian等等来做。这里我们选用基于Lucene的全文搜索服务器Solr来快速的搭建Django的全文搜索应用。
需要用到的开源项目:
Solr:http://lucene.apache.org/solr/ (Apache License)
Django-solr-search: http://code.google.com/p/django-solr-search/( BSD L)
Pymmseg-cpp: http://code.google.com/p/pymmseg-cpp/ (MIT L)
Django-solr-search是用来连接Solr服务器的Django插件,Py mmseg-cpp是Python封装的mmseg中文分词模块。
1.配置环境
首先安装Solr, 下载下来直接解压,然后进入apache-solr-1.4.0/example下面,直接运行:
java -jar start.jar
然后查看http://localhost:8983/solr/,看到欢迎界面,一切ok。
然后把Django-solr-search下载下来,可以选择直接setup,也可以直接把其中 的solango放入需要增加全文搜索的Project下面。
然后修改settings.py,加入solango的app,如下:
INSTALLED_APPS = {
|
添加Solr的路径:
SOLR_ROOT ='path/apache-solr-1.4.0/example/' |
最后在项目下运行命令:
让django启动Solr服务器 python manage.py solr --start
查看是否连接成功:
python manage.py shell
>>> import solango |
显示True,环境就搭好了。
2.定义Document模型
先看我们需要全文搜索的model:
class ElectronicComponent(models.Model): |