• ElasticSearch入门-基本概念介绍以及安装


    Elasticsearch基本概念

    Elasticsearch是基于Lucene的全文检索库,本质也是存储数据,很多概念与传统关系型数据库类似。

    传统关系型数据库与Elasticsearch进行概念对比

    Elasticsearch 传统关系型数据库
    indices(索引库) Databases(数据库)
    type(类型) Table(数据表)
    Document(文档) Row(行)
    Field(字段) Columns(列)
    mappings(映射配置) 表结构

    具体说明

    概念 具体说明
    indices(索引库) indices是index的复数,代表许多的索引
    type(类型) 类型是模拟传统关系型数据库中的table概念,一个索引库下可以有不同类型的索引,比如商品索引,订单索引,其数据格式不同。不过这会导致索引库混乱,因此未来版本中会移除这个概念
    Document(文档) 存入索引库原始的数据。比如每一条商品信息,就是一个文档
    Field(字段) 文档中的属性
    mappings(映射配置) 字段的数据类型、属性、是否索引、是否存储等特性
    索引集(Indices,index的复数) 逻辑上的完整索引
    分片(shard) 数据拆分后的各个部分
    副本(replica) 每个分片的复制

    注:Elasticsearch本身就是分布式的,因此即便你只有一个节点,Elasticsearch默认也会对你的数据进行分片(默认5个分片)和副本操作,当你向集群添加新数据时,数据也会在新加入的节点中进行平衡。

    安装Elasticsearch和ik分词器

    安装前需要配置JAVA环境

    Mac

    安装Elasticsearch

    homebrew安装

    brew install elasticsearch

    运行

    • 查看状态

    $ brew services list

    • 启动

    $ brew services start elasticsearch

    • 重启

    $ brew services restart elasticsearch

    • 停止

    $ brew services stop elasticsearch

    浏览器输入 http://localhost:9200 查看ES是否运行

    你也可以打开终端,执行以下操作:

    curl 'http://localhost:9200/?pretty'

    最终的响应结果和下面类似:

    {
      "name": "pYaFJhZ",
      "cluster_name": "docker-cluster",
      "cluster_uuid": "oC28y-cNQduGItC7qq5W8w",
      "version": {
        "number": "6.8.2",
        "build_flavor": "oss",
        "build_type": "tar",
        "build_hash": "b506955",
        "build_date": "2019-07-24T15:24:41.545295Z",
        "build_snapshot": false,
        "lucene_version": "7.7.0",
        "minimum_wire_compatibility_version": "5.6.0",
        "minimum_index_compatibility_version": "5.0.0"
      },
      "tagline": "You Know, for Search"
    }
    

    安装ik分词器

    终端下安装:

    $ cd /usr/local/Cellar/elasticsearch/ES版本

    $ bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.2/elasticsearch-analysis-ik-6.8.2.zip

    install后边的地址为ES对应版本的ik分词器的下载地址

    Windows

    安装Elasticsearch

    下载安装包,解压,然后双击执行 bin/elasticsearch.bat进行安装。

    运行

    命令提示符

    elasticsearch.bat -d

    或者直接双击执行elasticsearch.bat

    浏览器输入 http://localhost:9200 查看ES是否运行。

    或者下载cURL(点此下载),使用cURL的方式验证:

    curl 'http://localhost:9200/?pretty'

    安装ik分词器

    命令提示符下安装:

    inelasticsearch-plugin.bat install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.2/elasticsearch-analysis-ik-6.8.2.zip

    注:

    1. 安装完ik分词器之后需要重启ES
    2. Elasticsearch版本和elasticsearch-analysis-ik需要一一对应!

    Elasticsearch配置文件elasticsearch.yml

    配置参数 介绍
    cluster.name 集群名称,默认是elasticsearch
    node.name 节点名,称默认从elasticsearch-2.4.3/lib/elasticsearch-2.4.3.jar!config/names.txt中随机选择一个名称
    path.data 指定es的数据存储目录,默认存储在es_home/data目录下
    path.logs 指定es的日志存储目录,默认存储在es_home/logs目录下
    bootstrap.memory_lock 锁定物理内存地址,防止elasticsearch内存被交换出去,也就是避免es使用swap交换分区
    network.host 为es设置ip绑定,默认是127.0.0.1,也就是默认只能通过127.0.0.1 或者localhost才能访问
    http.port 为es设置自定义端口,默认是9200(在同一个服务器中启动多个es节点的话,默认监听的端口号会自动加1:例如:9200,9201,9202...)
    discovery.zen.ping.unicast.hosts 当启动新节点时,通过这个ip列表进行节点发现,组建集群默认节点列表: ["127.0.0.1", "[::1]"] 127.0.0.1:表示ipv4的回环地址。 [::1]:表示ipv6的回环地址
    discovery.zen.minimum_master_nodes 通过配置这个参数来防止集群脑裂现象 (集群总节点数量/2)+1
    gateway.recover_after_nodes 一个集群中的N个节点启动后,才允许进行数据恢复处理,默认是1
    action.destructive_requires_name 设置是否可以通过正则或者_all删除或者关闭索引库,默认true表示必须需要显式指定索引库名称

    本文链接:https://www.lifengdi.com/archives/article/tech/869

  • 相关阅读:
    一次闲聊
    苏活工厂团队
    《旅游网站针对‘途牛’、‘驴妈妈’的分析报告》
    C# 委托学习
    你进度太慢了
    我一个哥们经典语录
    SharePoint开发学习笔记3——Visual Web Part及自定义配置界面
    Asp.net使用JQuery实现评论的无刷新分页及分段延迟加载效果
    SharePoint开发学习笔记2——对象模型概述
    flash文件转html5工具
  • 原文地址:https://www.cnblogs.com/lifengdi/p/11525648.html
Copyright © 2020-2023  润新知