Elasticsearch:
使用Docker安装Elsaticsearch:
获取镜像:
sudo docker image pull delron/elasticsearch-ik:2.4.6-1.0
使用已有的镜像文件:
a.镜像文件放到ubuntu家目录下:
b.终端内cd到镜像文件下的config文件下:
c. 使用vim命令打开elasticsearch.yml文件:
修改elasticsearch的配置文件,更改为本机ip地址:
network.host: 本机ip
创建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
使用haystack对接Elasticsearch
安装:
pip install drf-haystack
pip install elasticsearch==2.4.1
drf-haystack是为了在REST framework中使用haystack而进行的封装(如果在Django中使用haystack,则安装django-haystack即可)。
注册应用:
INSTALLED_APPS = [
…
‘haystack’,
…
]
配置:
Haystack
HAYSTACK_CONNECTIONS = {
‘default’: {
‘ENGINE’: ‘haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine’,
‘URL’: ‘http://10.211.55.5:9200/’, # 此处为elasticsearch运行的服务器ip地址,端口号固定为9200
‘INDEX_NAME’: ‘meiduo’, # 指定elasticsearch建立的索引库的名称
},
}
当添加、修改、删除数据时,自动生成索引
HAYSTACK_SIGNAL_PROCESSOR = ‘haystack.signals.RealtimeSignalProcessor’
注意:
HAYSTACK_SIGNAL_PROCESSOR 的配置保证了在Django运行起来后,有新的数据产生时,haystack仍然可以让Elasticsearch实时生成新数据的索引