搜索引擎ElasticSearch
Elasticsearch简介
1.1、Elasticsearch
1.1.1 Elasticsearch是一个基于Apache Lucene™的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、== 性能最好的==、功能最全的搜索引擎库。
1.1.2 特点:
- 分布式的实时文件存储,每个字段都被索引并可被搜索
- 分布式的实时分析搜索引擎–做不规则查询
- 可以扩展到上百台服务器,处理PB级结构化或非结构化数据
1.1.3 Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
1.1.4 ES能做什么?
全文检索(全部字段)、模糊查询(搜索)、数据分析(提供分析语法,例如聚合)
1.1.5 ElasticSearch5和ElasticSearch6区别
ElasticSearch6(和ElasticSearch5的区别在于,root用户权限,一个库能否建立多张表)
1.1.6 搜索引擎(以百度和谷歌为例)的工作原理
- 爬虫
- 分析
- 查询
1.1.7elasticSearch(搜索引擎)B+tree算法
倒排索引(内容上建立索引,用内容匹配索引)
1.2、Elasticsearch安装
1.2.1安装环境:centos7+jdk8
1.2.2配置文件/config elasticsearch.yml(集群文件)与jvm.options(Jvm配置文件)
1.2.3上传解并解压到centos /opt/es目录下
4. 在opt下新建目录:mkdir -p /opt/es
5. 上传并解压 tar -zxvf elasticsearch-6.3.1.tar.gz、elasticsearch-analysis-ik6.rar、kibana-6.3.1-linux-x86_64.tar.gz
6. chmod 777 -R(循环授权所有目录) elasticsearch-6.3.1
1.2.4配置
Es使用最大线程数、最大内存数、访问的最大文件数
- 启动脚本elasticsearch
- 创建用户并切换
- 创建用户:adduser es
- 切换用户:su es
- 执行脚本./elasticsearch
- 出现问题
- Es使用Jvm内存大小不够用
- Es使用Jvm内存大小不够用
- 修改配置文件
- vim elasticsearch-6.3.1/config/jvm.options 配置jvm的内存大小
- vim elasticsearch-6.3.1/config/jvm.options 配置jvm的内存大小
-
在elasticSearch.yml中配置host地址(本机地址),外网允许访问
-
启动问题:Es使用最大线程数、最大内存数、访问的最大文件数
-
需要修改两处配置文件
- 修改Linux的limits文件,设置内存线程和文件
- 修改Linux的sysctl文件,配置系统使用内存
- 修改Linux的limits文件,设置内存线程和文件
-
Es权限问题
- 首先root用户解压: tar -zxvf elasticsearch-6.3.1.tar.gz
- chmod 777 -R(循环授权所有目录) elasticsearch-6.3.1
es文件四处需要修改
-