前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Elasticsearch简介及安装

Elasticsearch简介及安装

作者头像
乐心湖
发布2021-01-18 15:01:56
5550
发布2021-01-18 15:01:56
举报
文章被收录于专栏:MyTechnologyMyTechnology

Elasticsearch简介

官方介绍:Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选。

可以快速地存储、搜索和分析海量数据。维基百科、Stack Overflow、GitHub 都在采用。

Elatic 的底层是开源库吧Lucene。但是,你没法直接用,必须自己写代码调用它的接口,Elastic 是 Lunce 的封装,提供了 REST API 的操作接口,开箱即用

REST API:天然的跨平台

官网文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

基本概念

index(索引)

动词,相当于 MySQL 中的 insert;

名词,相当于MySQL 中的 DataBase;

Type(类型)

在 Index(索引)中,可以定义一个或多个类型;

类似于 MySQL 中的 Table,每一种类型的数据放在一起;

关系型数据库中两个数据表示是独立的,即使他们里面有相同名称的列也不影响使用,但ES中不是这样的。 elasticsearch是基于Lucene开发的搜索引擎,而ES中不同type下名称相同的filed最终在Lucene中的处理方式是一样的。 两个不同type下的两个user_name,在ES同一个索引下其实被认为是同一个filed,你必 须在两个不同的type中定义相同的filed映射。否则,不同type中的相同字段名称就会在处理中出现冲突的情况,导致Lucene处理效率下降。 去掉type就是为了提高ES处理数据的效率。 Elasticsearch 7.x URL中的type参数为可选。比如,索引一个文档不再要求提供文档类 Elasticsearch 8.x 不再支持URL中的type参数。 建议:将索引从多类型迁移到单类型,每种类型文档一个独立索引

Document(文档)

保存在某个索引(index)下,种类型(Type)的一个数据(Document),文档是 JSON 格式的,Document 就像是 MySQL 中某个 Table 里面的内容;

代码语言:javascript
复制
{
  "user": "张三",
  "title": "工程师",
  "desc": "数据库管理"
}

同一个 Index 里面的 Document,不要求有相同的结构(scheme),但是最好保持相同,这样有利于提高搜索效率。

Elasticsearch安装

存储和检索数据

docker pull elasticsearch:7.4.2

可视化检索数据

docker pull kibana:7.4.2

准备工作

代码语言:javascript
复制
mkdir -p /mydata/elasticsearch/config # 用来存放配置文件
mkdir -p /mydata/elasticsearch/data  # 数据
echo "http.host: 0.0.0.0" >/mydata/elasticsearch/config/elasticsearch.yml # 允许任何机器访问
chmod -R 777 /mydata/elasticsearch/ # 设置elasticsearch文件可读写权限

创建实例

代码语言:javascript
复制
docker run --name=elasticsearch \
-p 9200:9200 -p 9300:9300 \
--restart=always \
-e  "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx256m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v  /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2

注意:-e ES_JAVA_OPTS="-Xms64m -Xmx128m" 测试环境下,设置 ES 的初始内存和最大内存,否则可能导致内存过大启动不了 ES

启动成功后,访问 ip+9200 ,例如:192.168.152.129:9200

若启动失败,可以尝试使用 docker logs elasticsearch 查看错误并解决它。

安装 Kibana

代码语言:javascript
复制
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.37.133:9200 -p 5601:5601 -d kibana:7.4.2
代码语言:javascript
复制
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.152.129:9200 -p 5601:5601 -d kibana:7.4.2

-e ELASTICSEARCH_HOSTS=你的elasticsearch地址

启动需要稍微等待一会,然后访问 192.168.152.129:5601


版权属于:乐心湖's Blog

本文链接:https://cloud.tencent.com/developer/article/1774968

声明:博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Elasticsearch简介
  • 基本概念
  • Elasticsearch安装
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档