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
    }
    }

  • 相关阅读:
    html5+css3中的background: -moz-linear-gradient 用法 (转载)
    CentOS 安装Apache服务
    Linux 笔记
    CURL 笔记
    Spring Application Context文件没有提示功能解决方法
    LeetCode 389. Find the Difference
    LeetCode 104. Maximum Depth of Binary Tree
    LeetCode 520. Detect Capital
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode 136. Single Number
  • 原文地址:https://www.cnblogs.com/xieting/p/11325507.html
Copyright © 2011-2022 走看看