• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

ElasticSearch-学习笔记03ElasticSearch集群

武飞扬头像
upward337
帮助1

  1. ElasticSearch-学习笔记01【ElasticSearch基本介绍】【day01】
  2. ElasticSearch-学习笔记02【ElasticSearch索引库维护】
  3. ElasticSearch-学习笔记03【ElasticSearch集群】
  4. ElasticSearch-学习笔记04【Java客户端操作索引库】【day02】
  5. ElasticSearch-学习笔记05【SpringDataElasticSearch】

目录

19-ES集成IK分析器

20-中文分析器的使用及测试

01、测试1

02、测试2

21-ElasticSearch集群简介

22-ES集群架构及概念说明

23-ES集群搭建

24-集群使用测试

01、创建索引

02、添加数据


19-ES集成IK分析器

学新通

IK分词器的安装,下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

学新通

学新通

将解压后的elasticsearch文件夹拷贝到elasticsearch-5.6.8\plugins下,并重命名文件夹为“analysis-ik”。

学新通

http://127.0.0.1:9200/_analyze?analyzer=ik_smart&text=我是黑马程序员。

学新通

http://127.0.0.1:9200/_analyze?analyzer=ik_max_word&text=我是黑马程序员。

学新通

20-中文分析器的使用及测试

01、测试1

  1.  
    {
  2.  
    "mappings": {
  3.  
    "hello": {
  4.  
    "properties": {
  5.  
    "id": {
  6.  
    "type": "long",
  7.  
    "store": true
  8.  
    // "index": "not_analyzed"
  9.  
    },
  10.  
    "title": {
  11.  
    "type": "text",
  12.  
    "store": true,
  13.  
    "analyzer": "ik_max_word"
  14.  
    // "index": "analyzed",
  15.  
    },
  16.  
    "content": {
  17.  
    "type": "text",
  18.  
    "store": true,
  19.  
    "analyzer": "ik_max_word"
  20.  
    // "index": "analyzed",
  21.  
    }
  22.  
    }
  23.  
    }
  24.  
    }
  25.  
    }
学新通

学新通

02、测试2

  1.  
    {
  2.  
    "id": 1,
  3.  
    "title": "我的工资涨涨涨~~~",
  4.  
    "content": "大涨特涨~~~"
  5.  
    }
  6.  
    {
  7.  
    "id": 2,
  8.  
    "title": "我的工资涨涨涨~~~222",
  9.  
    "content": "大涨特涨~~~222"
  10.  
    }
  11.  
    {
  12.  
    "id": 3,
  13.  
    "title": "我的工资涨涨涨~~~333",
  14.  
    "content": "大涨特涨~~~333"
  15.  
    }
  16.  
    {
  17.  
    "id": 4,
  18.  
    "title": "哎嗨呦,你干嘛~~~",
  19.  
    "content": "再看一眼就会爆炸~"
  20.  
    }
  21.  
    {
  22.  
    "id": 5,
  23.  
    "title": "哎呦,你干嘛~~~",
  24.  
    "content": "再近一点就会融化~"
  25.  
    }
  26.  
    {
  27.  
    "id": 6,
  28.  
    "title": "难道真的因为你而疯狂吗?!",
  29.  
    "content": "我本来不是这种人,因你变成奇怪的人~"
  30.  
    }
学新通

学新通

  1.  
    {
  2.  
    "query": {
  3.  
    "term": {
  4.  
    "title": "你干嘛"
  5.  
    }
  6.  
    }
  7.  
    }
  8.  
    {
  9.  
    "query": {
  10.  
    "query_string": {
  11.  
    "default_field": "content",
  12.  
    "query": "爆炸"
  13.  
    }
  14.  
    }
  15.  
    }
学新通

学新通

学新通

21-ElasticSearch集群简介

ES集群是一个P2P类型(使用gossip协议)的分布式系统,除了集群状态管理以外,其他所有的请求都可以发送到集群内任意一台节点上,这个节点可以自己找到需要转发给哪些节点,并且直接跟这些节点通信。所以,从网络架构及服务配置上来说,构建集群所需要的配置极其简单。在Elasticsearch2.0之前,无阻碍的网络下,所有配置了相同cluster.name的节点都自动归属到一个集群中。2.0版本之后,基于安全的考虑避免开发环境过于随便造成的麻烦,从2.0版本开始,默认的自动发现方式改为了单播(unicast)方式。配置里提供几台节点的地址,ES将其视作gossip router角色,借以完成集群的发现。由于这只是ES内一个很小的功能,所以gossip router角色并不需要单独配置,每个ES节点都可以担任。所以,采用单播方式的集群,各节点都配置相同的几个节点列表作为router即可。

集群中节点数量没有限制,一般大于等于2个节点就可以看做是集群了。一般处于高性能及高可用方面来考虑一般集群中的节点数量都是3个及3个以上。

22-ES集群架构及概念说明

集群cluster

一个集群就是由一个或多个节点组织在一起,它们共同持有整个的数据,并一起提供索引和搜索功能。一个集群由一个唯一的名字标识,这个名字默认就是“elasticsearch”。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群。

节点node

一个节点是集群中的一个服务器,作为集群的一部分,它存储数据,参与集群的索引和搜索功能。和集群类似,一个节点也是由一个名字来标识的,默认情况下,这个名字是一个随机的漫威漫画角色的名字,这个名字会在启动的时候赋予节点。这个名字对于管理工作来说挺重要的,因为在这个管理过程中,你会去确定网络中的哪些服务器对应于Elasticsearch集群中的哪些节点。

学新通
集群的逻辑结构和物理结构

23-ES集群搭建

  1. 准备三台elasticsearch服务器:创建elasticsearch-cluster文件夹,在内部复制三个elasticsearch服务;
  2. 修改每台服务器配置:修改elasticsearch-cluster\node*\config\elasticsearch.yml配置文件。
  1.  
    #节点1的配置信息:
  2.  
    #集群名称,保证唯一
  3.  
    cluster.name: my-elasticsearch
  4.  
    #节点名称,必须不一样
  5.  
    node.name: node-1
  6.  
    #必须为本机的ip地址
  7.  
    network.host: 127.0.0.1
  8.  
    #服务端口号,在同一机器下必须不一样
  9.  
    http.port: 9201
  10.  
    #集群间通信端口号,在同一机器下必须不一样
  11.  
    transport.tcp.port: 9301
  12.  
    #设置集群自动发现机器ip集合
  13.  
    discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
  14.  
     
  15.  
    #节点2的配置信息:
  16.  
    #集群名称,保证唯一
  17.  
    cluster.name: my-elasticsearch
  18.  
    #节点名称,必须不一样
  19.  
    node.name: node-2
  20.  
    #必须为本机的ip地址
  21.  
    network.host: 127.0.0.1
  22.  
    #服务端口号,在同一机器下必须不一样
  23.  
    http.port: 9202
  24.  
    #集群间通信端口号,在同一机器下必须不一样
  25.  
    transport.tcp.port: 9302
  26.  
    #设置集群自动发现机器ip集合
  27.  
    discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
  28.  
     
  29.  
    #节点3的配置信息:
  30.  
    #集群名称,保证唯一
  31.  
    cluster.name: my-elasticsearch
  32.  
    #节点名称,必须不一样
  33.  
    node.name: node-3
  34.  
    #必须为本机的ip地址
  35.  
    network.host: 127.0.0.1
  36.  
    #服务端口号,在同一机器下必须不一样
  37.  
    http.port: 9203
  38.  
    #集群间通信端口号,在同一机器下必须不一样
  39.  
    transport.tcp.port: 9303
  40.  
    #设置集群自动发现机器ip集合
  41.  
    discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
学新通

学新通

24-集群使用测试

01、创建索引

学新通

学新通

  1.  
    {
  2.  
    "mappings": {
  3.  
    "hello": {
  4.  
    "properties": {
  5.  
    "id": {
  6.  
    "type": "long",
  7.  
    "store": true
  8.  
    },
  9.  
    "title": {
  10.  
    "type": "text",
  11.  
    "store": true,
  12.  
    "analyzer": "ik_smart"
  13.  
    },
  14.  
    "content": {
  15.  
    "type": "text",
  16.  
    "store": true,
  17.  
    "analyzer": "ik_smart"
  18.  
    }
  19.  
    }
  20.  
    }
  21.  
    }
  22.  
    }
学新通

02、添加数据

  1.  
    {
  2.  
    "id": 1,
  3.  
    "title": "这是一个测试文档。",
  4.  
    "content": "这是测试文档的内容!"
  5.  
    }

学新通

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfjbee
系列文章
更多 icon
同类精品
更多 icon
继续加载