码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 谷粒商城 高级篇 (一) --------- ElasticSearch 的简介与安装


    目录

    • 一、简介
      • 基本概念
    • 二、Docker 安装 Es
    • 三、测试


    一、简介

    文档:https://www.elastic.co/cn/what-is/elasticsearch

    全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。

    在这里插入图片描述
    Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。REST API:天然的跨平台。

    官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
    官方中文:https://www.elastic.co/guide/cn/elasticsearch/guide/current/foreword_id.html

    社区中文:

    https://es.xiaoleilu.com/index.html
    http://doc.codingdict.com/elasticsearch/0/

    基本概念

    在这里插入图片描述

    Index (索引)

    作为动词,相当于 MySQL 中的 insert
    作为名词,相当于 MySQL 中的 Database

    Type (类型)

    在 Index (索引) 中,可以定义一个或多个类型。
    类似于 MySQL 中的 Table,每一种类型的数据放在一起。

    Document (文档)

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

    倒排索引机制

    在这里插入图片描述

    二、Docker 安装 Es

    1、下载镜像文件

    docker pull elasticsearch:7.4.2 存储和检索数据
    docker pull kibana:7.4.2 可视化检索数据

    在这里插入图片描述
    在这里插入图片描述

    2、创建实例

    ElasticSearch

    mkdir -p /mydata/elasticsearch/config
    
    • 1
    mkdir -p /mydata/elasticsearch/data
    
    • 1
    echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
    chmod -R 777 /mydata/elasticsearch/  保证权限
    
    • 1
    • 2
    docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
    -e "discovery.type=single-node" \
    -e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
    -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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    free -m 可以查看虚拟机内存
    docker logs 查看日志
    docker ps -a 查看所有容器
    docker ps 查看正在运行的容器
    docker start 容器ID 开启容器
    
    • 1
    • 2
    • 3
    • 4
    • 5

    关于 docker run 与 docker start :

    docker run相当于执行了两步操作:将镜像放入容器中 (docker create),然后将容器启动,使之变成运行时容器(docker start)。

    docker start 的作用是:重新启动已存在的镜像。也就是说,如果使用这个命令,我们必须事先知道这个容器的ID,或者这个容器的名字,我们可以使用docker ps -a找到这个容器的信息。

    以后再外面装好插件重启即可;

    特别注意:

    -e ES_JAVA_OPTS=“-Xms64m -Xmx256m” \ 测试环境下,设置 ES 的初始内存和最大内存,否则导致过大启动不了 ES

    Kibana

    docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.38.130:9200 -p 5601:5601 \
    -d kibana:7.4.2
    
    • 1
    • 2

    http://192.168.38.130:9200 一定改为自己虚拟机的地址

    三、测试

    浏览器访问虚拟机的 9200 端口,出现下面界面则访问成功
    在这里插入图片描述
    或者 postman

    在这里插入图片描述

    访问 Kibana 出现此界面则访问成功
    在这里插入图片描述

  • 相关阅读:
    CF 111B Petya and Divisors
    C++中的继承(下)
    【多目标优化算法】多目标粘液霉菌算法(MOSMA)附Matlab代码
    qt生成帮助文档过程
    import关键字的使用
    Linux eval命令——关于空格那些事
    距离度量 —— 汉明距离(Hamming Distance)
    免费、丰富、便捷的资源论坛——Yiove论坛,包括但不限于阿里云盘、夸克云盘、迅雷云盘等等
    面试题:什么是微服务 ?
    学习Vue3 第十章(实操组件和认识less sass 和 scoped)
  • 原文地址:https://blog.csdn.net/m0_51111980/article/details/126803423
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号