美文网首页
7.2 django项目-新闻博客系统之新闻搜索2

7.2 django项目-新闻博客系统之新闻搜索2

作者: yungege | 来源:发表于2019-08-27 16:01 被阅读0次

07.1 ElasticSearch

一、简介

elasticsearch 原理;http://developer.51cto.com/art/201904/594615.htm

二、安装

在docker中安装elasticsearch

  1. 获取镜像

    # 注意:因为haystack目前支持的elasticsearch版本为 1.x和2.x
    # 所以这里选择2.4.6
    $ docker pull elasticsearch:2.4.6
    
  2. 安装中文分词插件

    可以创建容器之后再安装插件,为了后面部署方便,我们创建镜像。elasticsearch的中文分词插件是elasticsearch-ik,国人开发,github地址

    根据文档介绍,2.4.6版本对应的ik是1.10.16

1563190041871.png

因为直接使用elasticsearch的plugin命令安装会报错,所以通过下载后解压到相应文件夹的方式安装。

1563190261012.png

a.下载es-ik后,将其解压到名为ik的文件夹

~$ unzip elasticsearch-analysis-ik-1.10.6.zip -d ./ik

b.在ik所在文件下创建名为Dockerfile的文件,内容如下

# dockerfile
FROM elasticsearch:2.4.6
MAINTAINER   Fisher "xinlan@tanzhou.com"
ADD  ./ik/ /usr/share/elasticsearch/plugins/ik/  

然后运行命令

~$ sudo docker build -t xinlan/els-ik:2.4.6 .

如果出现下面的错误是因为没有带sudo

~$ docker build -t xinlan/els-ik:2.4.6 .
error checking context: 'no permission to read from '/home/wcf/.viminfo''.

运行成功后,会在你的docker中创建一个新的镜像

~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
xinlan/els-ik       2.4.6               ecf93deefe2b        26 minutes ago      489MB
elasticsearch       2.4.6               5e9d896dc62c        10 months ago       479MB

<span style="color:red">如果上面的步骤搞不定请直接下载如下镜像</span>

$ sudo docker image pull wcfdehao/els-ik:2.4.6
  1. 创建容器

    利用上面创建好的镜像创建一个容器。为了能够进行设置elasticsearch,通过卷挂载的方式创建容器。

    将提供给大家的es配置文件elasticsearch.zip拷贝到家目录下,然后解压

    # 在xshell中使用rz命令将elasticsearch.zip文件传到虚拟机的家目录中
    #然后在家目录中解压
    ~$ unzip elasticsearch.zip
    

    然后运行下面的命令创建容器

    # 根据上面创建的镜像创建容器,需要将/home/wcf/elasticsearch/config配置文件路径修改为你自己的路径
    # 将 镜像名xinlan/els-ik:2.4.6改成你的镜像名 
    # docker run -dti --network=host --name es-ik -v /home/pyvip/elasticsearch/config:/usr/share/elasticsearch/config wcfdehao/els-ik:2.4.6
    ~$ docker run -dti --network=host --name es-ik -v /home/wcf/elasticsearch/config:/usr/share/elasticsearch/config xinlan/els-ik:2.4.6
    # 查看是否创建成功,如果没有结果,说明创建失败检查步骤和配置
    ~$ docker ps
    CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS               NAMES
    61c42c36a8f2        xinlan/els-ik:2.4.6   "/docker-entrypoint.…"   29 minutes ago      Up 28 minutes                           es-ik
    

    最后运行curl命令检测es是否正常

    ~$ curl http://127.0.0.1:9200
    {
      "name" : "Shard",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "Pq6BQQhTQN6q6ML6ThPlbw",
      "version" : {
        "number" : "2.4.6",
        "build_hash" : "5376dca9f70f3abef96a77f4bb22720ace8240fd",
        "build_timestamp" : "2017-07-18T12:17:44Z",
        "build_snapshot" : false,
        "lucene_version" : "5.5.4"
      },
      "tagline" : "You Know, for Search"
    }
    

相关文章

网友评论

      本文标题:7.2 django项目-新闻博客系统之新闻搜索2

      本文链接:https://www.haomeiwen.com/subject/odbeectx.html