没有合适的资源?快使用搜索试试~ 我知道了~
Django项目之Elasticsearch搜索引擎的实例
3 下载量 16 浏览量
2020-09-18
19:08:54
上传
评论 1
收藏 59KB PDF 举报
温馨提示
试读
3页
今天小编就为大家分享一篇Django项目之Elasticsearch搜索引擎的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
资源推荐
资源详情
资源评论
Django项目之项目之Elasticsearch搜索引擎的实例搜索引擎的实例
今天小编就为大家分享一篇Django项目之Elasticsearch搜索引擎的实例,具有很好的参考价值,希望对大家有所帮助。
一起跟随小编过来看看吧
1.使用使用Docker安装安装Elasticsearch及其扩展及其扩展
获取镜像,可以通过网络pull
sudo docker image pull delron/elasticsearch-ik:2.4.6-1.0
或者加载镜像文件
sudo docker load -i elasticsearch-ik-2.4.6_docker.tar
修改elasticsearch的配置文件 elasticsearc-2.4.6/config/elasticsearch.yml第54行,更改ip地址为本机ip地址
network.host: 127.0.0.1
创建docker容器运行
sudo docker run -dti --network=host --name=elasticsearch -v /home/python/elasticsearch-2.4.6/config:/usr/share/elasticsearch/config delron/elasticsearch-ik:2.4.6-1.0
2. 使用使用haystack对接对接Elasticsearch
1)安装)安装
pip install drf-haystack
pip install elasticsearch==2.4.1
drf-haystack是为了在REST framework中使用haystack而进行的封装(如果在Django中使用haystack,则安装django-haystack即
可)。
2)注册应用)注册应用
INSTALLED_APPS = [
...
'haystack',
...
]
3)配置)配置
在配置文件中配置haystack使用的搜索引擎后端
# Haystack
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://127.0.0.1:9200/', # 此处为elasticsearch运行的服务器ip地址,端口号固定为9200
'INDEX_NAME': 'meiduo', # 指定elasticsearch建立的索引库的名称
},
}
# 当添加、修改、删除数据时,自动生成索引
HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'
4)创建索引类)创建索引类
指明让搜索引擎对哪些字段建立索引
goods应用中新建search_indexes.py文件,用于存放索引类(文件名固定)
from haystack import indexes
from .models import SKU
class SKUIndex(indexes.SearchIndex, indexes.Indexable):
"""
SKU索引数据模型类
"""
text = indexes.CharField(document=True, use_template=True)
def get_model(self):
"""返回建立索引的模型类"""
return SKU
def index_queryset(self, using=None):
"""返回要建立索引的数据查询集"""
return self.get_model().objects.filter(is_launched=True)
资源评论
weixin_38499706
- 粉丝: 2
- 资源: 906
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功