Django项目任何简单部署全文检索elasticsearch

准备工作:

在Linux系统下安装Docker环境:

Ubuntu安装Docker步骤

Centos安装Docker步骤

第一步:

安装好Docker后,安装Elasticsearch容器

百度网盘:https://pan.baidu.com/s/1KD1wx4ZVIvM3bjVCMNCcjw  提取码:8888

1、把我分享的百度网盘文件下载下来。把里面的这两个文件复制到里面。
2、然后把在这里插入图片描述给上传到你的服务器上

3、在服务器上进入到elasticsearch-ik-2.4.6_docker文件夹里面的config文件夹的elasticsearch.yml文件里:
在这里插入图片描述
4、上面改好后,在当前的config目录下:分别执行下面这两条指令

pwd   # 查看当前config绝对路径
sudo docker run -dti --name=elasticsearch --network=host -v 上面pwd得到的config绝对路径  delron/elasticsearch-ik:2.4.6-1.0

这样子就把Elasticasearch容器下载下来了

第二步:

①分别把这两个包下载下来:

pip install django-haystack
pip install elasticsearch==2.4.1  # 安装2.4.1是因为上面安装的elasticsearch版本就是2.4的版本


在Django项目主配置文件setting.py:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'haystack',         # 全文检索。
HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
        'URL': 'http://安装elasticsearch容器ip:9200/', #端口号固定为9200
        'INDEX_NAME': 'lgshop', # 随便取,这是Elasticsearch建立的索引库的名称
    },
}


# 当添加、修改、删除数据时,自动生成索引
HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'

# 搜索出来的结果,显示5条
HAYSTACK_SEARCH_RESULTS_PER_PAGE = 5

在项目的主urls.py:

path(r'search/', include('haystack.urls')), # 前面哪个r加不加都无所谓

③创建索引类
在项目随便一个app下创建一个文件名必须为search_indexes.py

from haystack import indexes
from .models import 搜索的数据所属创建表类名如SKU
# 搜索的数据就是你在前端根据关键字从哪个表里面取出来显示

class 类名(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):
        """返回要建立索引的数据查询集,一般查询条件是all()"""
        return self.get_model().objects.查询条件

④创建text字段索引值模板文件
在templates文件夹里面创建一个文件:规则
templates/search/indexes/上面app名字/模型类名小写_text.txt

在这个’ 模型类名小写_text.txt ’文件里面加上:

{{ object.字段1 }}
{{ object.字段2 }}
{{ object.字段3 }}

⑤创建搜索后的页面:
在这里插入图片描述

⑥打开cmd去到manage.py父目录下执行:

python manage.py rebuild_index

这样子全文搜索就弄好了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值