elasticsearch全文检索模块

入门链接

为什么要使用Elasticsearch

非关系型数据库elasticsearch

原理

在这里插入图片描述
倒排索引采用的是b+树实现的

安装配置和启动

  1. 解压:
    tar zxvf elasticsearch-6.3.1.tar.gz
  2. 递归的给linux目录下的所有文件赋予所有权限
    chmod 777 -R elasticsearch-6.3.1
  3. 修改jvm内存参数
    vim /opt/es/elasticsearch-6.3.1/config/jvm.options
    在这里插入图片描述
  4. 赋予权限
chmod 777 /opt/es/elasticsearch-6.3.1/config/elasticsearch.keystore

logs/gc.log

linux使用curl发送http请求,测试

curl http://www.baidu.com

在这里插入图片描述
5 . 配置本机地址,方便被外界访问到 vim /opt/es/elasticsearch-6.3.1/config/elasticsearch.yml
在这里插入图片描述
在这里插入图片描述
nofile 文件最大数目
noproc 进程最大数目
soft 当前系统生效的设置值
hard 系统中所能设定的最大值

  1. 修改linux配置(配合es启动需求) vim /etc/security/limits.conf (linux的#也是有作用的)
* hard nofile 65536
* soft nofile 131072
* hard nproc 4096
* soft nproc 2048

刷新一下

在这里插入图片描述
7. 配置系统内存 vim /etc/sysctl.conf

vm.max_map_count=655360
fs.file-max=655360 

sysctl -p (配置生效)

  1. 总结
    elasticSearch.yml es的启动host地址
    jvm.options配置es的虚拟机内存
    limits.conf配置linux的线程内存和文件
    sysctl.conf配置系统允许的软件运行内存

启动运行es

启动命令
cd /opt/es/elasticsearch-6.3.1/bin/
./elasticsearch
如果报root权限不能启动,则新建一个普通linux用户,然后切换到普通用户再执行命令启动即可
在这里插入图片描述
如果启动成功,在浏览器输入:http://192.168.0.200:9200/ 【192.168.0.200是虚拟机的访问地址】,看到如下字符串则说明启动成功:

{
  "name" : "KgD-wLl",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "pMl_T6SdSSq55G4nGtuP6w",
  "version" : {
    "number" : "6.3.1",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "eb782d0",
    "build_date" : "2018-06-29T21:59:26.107521Z",
    "build_snapshot" : false,
    "lucene_version" : "7.3.1",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

一个index相当于库,type–是表,document—行数据,field相当于字段
node是es(elasearch)的实例,

nohup 控制台将(忽略的)日志信息输出到nohup.out

mysql是tcp协议
es是http协议

安装并启动kibana数据可视化工具

Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。
你用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。
你可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。
Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。【就是一个数据可视化工具】

编辑kibana的配置文件 ,更改其es的连接地址
vim /opt/es/kibana-6.3.1-linux-x86_64/config/kibana.yml
在这里插入图片描述

cd /opt/es/kibana-6.3.1-linux-x86_64/bin
nohup ./kibana &
然后ctrl+c退出
执行 ps -ef |grep node
浏览器输入:http://192.168.0.200:5601/status 查看是否启动成功

在这里插入图片描述
http://192.168.0.200:5601/app/kibana
在这里插入图片描述

安装IK中文分词器

在这里插入图片描述
在这里插入图片描述
GET _analyze
{
“analyzer”: “ik_smart”,
“text”: [“我是中国人”]
}

红海

elasticsearch

es有哪些索引:
在这里插入图片描述
rdbms关系型数据库管理系统

es中的数据存储方式
在这里插入图片描述

es增删改查命令

put/delete/update/get

GET _cat/indices
#增
put lmj
##既可以增,又可以覆盖
PUT /movie_index/movie/1
{ "id":1,
  "name":"红海拯救",
  "doubanScore":8.5,
  "actorList":[  
{"id":1,"name":"zhang yi"},
{"id":2,"name":"hai qing"},
{"id":3,"name":"zhang han yu"}
]
}
PUT /movie_index/movie/2
{
  "id":2,
  "name":"湄公河",
  "doubanScore":8.0,
  "actorList":[  
{"id":3,"name":"zhang han yu"}
]
}

PUT /movie_index/movie/3
{
  "id":3,
  "name":"红海事件",
  "doubanScore":5.0,
  "actorList":[  
{"id":4,"name":"zhang chen"}
]
}
# 查
GET movie_index/movie/_search
{
  "query":{
    "match":{"name":"red"}
  }
}

在这里插入图片描述

相关性算分

在这里插入图片描述
搜索出来的结果和关键词的相关性的分数的计算公式
在这里插入图片描述
在这里插入图片描述

集群配置

ElasticSearch5.6.1配置文件elasticsearch.yml详解
在这里插入图片描述
在这里插入图片描述
vim /opt/es/elasticsearch-6.3.1/config/elasticsearch.yml

cluster.name: aubin-cluster
node.name: es
node.master: true
node.data: true
path.data: /opt/data
path.logs: /opt/logs
network.host: 192.168.0.200
http.port: 9200
transport.tcp.port: 9300   # 对外提供的端口
discovery.zen.ping.unicast.hosts: ["192.168.0.201"]
discovery.zen.minimum_master_nodes: 2

鸡蛋不能放在同一篮子里。mysql的主从复值,abcd篮子的鸡蛋是完全一样【b完全复值一次a】

mysql是一筐鸡蛋完全复值一份装在另一框里面
es是一筐鸡蛋,分别放在几个篮子里装。然后几个篮子里的鸡蛋在各自篮子里再分片(即自我复值一份),handoop也是一样的,这样可以提高集群的容错率(防止硬件故障导致的数据丢失)。固有主分片和副分片的差别

主分片的数量只能在索引定义时确定
在这里插入图片描述
主分片都是负责指导分发任务

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
平时是按照热度来进行搜索排序

long/integer转string :

1+""

这样就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值