美文网首页
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