zoukankan      html  css  js  c++  java
  • 安装ElasticSearcha

    安装ElasticSearcha
    学习ES也有快一个月了,但是学习的时候一直没有总结。以前没有总结是因为感觉不会的很多,现在对ES有一点了解了。索性就从头从安装到使用ES做一个详细的总结,也分享给其他人供他人学习

    首先咱们要官网上去下载ES的安装包,推荐下载Linux版的,要是windos 用户可以自己安装一个虚拟机。因为在生产环境或者真正的开发下ES都是步骤在Linux系统中。
    https://www.elastic.co/downloads/elasticsearch ,上es的官网上,我们下载t它的解压包。
    或者我们可以服务器上 使用Linux的下载命令

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz
    我们可以先创建一个文件夹,在这个文件夹下面是我们ES的目录

    mkdir elasticsearch
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz

    tar -vxf elasticsearch-6.0.0.tar.gz
    解压之后我们将看到一个ES的文件夹,我们现在进入到这个文件夹下面看看里面是什么样的结构。
    下面我们将介绍ES目录下面几个文件夹的用处

    bin/
    config/ //ES配置文件的目录
    lib/ //依赖的第三方库的目录
    LICENSE.txt
    modules/ //模块目录
    NOTICE.txt
    plugins/ //第三方插件的目录
    README.textile

    在我们启动之前,我们需要检查JDK的版本,因为ES5.x以后需要高版本的JDK
    现在我们的前期准备也已经做完了,我们现在就要qidong ES服务器了
    在当前的这个目录下面使用下面的这个命令

    sh ./ bin/elasticsearch

    随着dos界面闪过的日志,我们无法知道我们的ES服务器是否启动了。
    在启动完成后,我们可以通过在浏览器上访问栏判断ES是否正常启动
    在浏览器上输入这样的

    127.0.0.1:9200
    要是浏览器上显示出信息,说明我们的ES 服务器就启动成功了

    ES 记录之如何创建一个索引映射,以及一些设置
    ** 初始化其映射**

    PUT /my_index/_mapping/my_type
    {
    "my_type": {//索引字段
    "properties": {//
    "english_title": {
    "type": "string",//字段的类型,string类型
    "analyzer": "english"//分析方式
    }
    }
    }
    }
    //上面这种方式,是以前旧的方式。现在都使用这种的方式创建字段

    PUT /my_index/_mapping/my_type
    {
    "my_type": {
    "properties": {
    "english_title": {
    "type": "keyword" //不分词结构,
    }
    }
    }
    }
    //type也有分词索引结构的字段,就是text类型的字段
    ES中的基本数据类型有

    字符串 string
    数字类型 long integer double 等
    日期 date
    布尔类型 boolean
    二进制 binary
    复杂的数据类型
    数组类型
    对象类型
    嵌套类型 netsted
    地理数据类型
    专门数据类型
    ipv4
    完成数据类型
    单词计数类型
    同样我们可以使用其他数据类型来构建我们的数据映射
    我们在创建索引时,也可以指定其他的设置,例如自定义分片方式

    PUT /my_temp_index
    

    {
    "settings": {
    "number_of_shards" : 1,//主分片数量
    "number_of_replicas" : 0//副分片数量
    }
    }
    我们也可以在创建索引,同时自定义分词结构

    PUT /product
    {
    "settings": {
    "analysis": {
    "analyzer": {
    "defalut": {
    "tokenizer": "ik_max_word"
    },
    "pinyin_analyzer": {
    "tokenizer": "my_pinyin"
    }
    },
    "tokenizer": {
    "my_pinyin": {
    "keep_first_letter": false,
    "keep_full_pinyin": true,
    "keep_original": false,
    "keep_separate_first_letter": false,
    "limit_first_letter_length": 16,
    "lowercase": true,
    "type": "pinyin"
    }
    }
    }
    }
    },

    ES 中 Text keyword 两种基本类型区别
    string字段被拆分成两种新的数据类型: text用于全文搜索的, 而keyword用于关键词搜索.
    字符串将默认被同时映射成text和keyword类型,就像下面的这种结构
    动态映射(dynamic mappings)

           "name": {
              "type": "text",
              "fields": {
                 "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                 }
              }
           }
    

    于这个映射你即可以在foo字段上进行全文搜索, 也可以通过foo.keyword字段实现关键词搜索及数据聚合
    如何将新旧的版本迁移
    全文索引的字段

    {
    "foo": {
    "type": "string",
    "index": "analyzed"
    }
    }

    {
    "foo": {
    "type": "text",
    "index": true
    }
    }
    不索引 关键词搜索

    {
    "foo": {
    "type": "string",
    "index": "not_analyzed"
    }
    }

    {
    "foo": {
    "type": "keyword",
    "index": true
    }
    }

  • 相关阅读:
    HDU 4452 模拟
    CSUFT2016ACM训练赛4
    HDU 4445 纯物理题+枚举
    HDU 4442 排队贪心
    2016中国大学生程序设计竞赛
    POJ 2239 化二分图右集合二维为一位的最大匹配
    学习数据库必须掌握的54条SQL查询语句
    jsp+连接MYSQL5.1
    查看MYSQL 端口
    J2EE+struts2+helloworld调试问题解决方法
  • 原文地址:https://www.cnblogs.com/xieting/p/11325507.html
Copyright © 2011-2022 走看看