探索Elastic Search:强大的开源搜索引擎,详解及使用

news2024/10/7 10:17:46

在这里插入图片描述

🎬 鸽芷咕:个人主页

 🔥 个人专栏: 《C++干货基地》《粉丝福利》

⛺️生活的理想,就是为了理想的生活!

引入

全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选,相信大家多多少少的都听说过它。它可以快速地储存、搜索和分析海量数据。就连维基百科、Stack Overflow、Github 都采用它选择作为自己的搜索引擎今天就让我们来了解了解 Elasticsearch 为什么这么快。

文章目录

  • 引入
  • 一、Elastic Search简介
  • 二、Elastic Search的特点
    • 支持分布式集群
    • 支持将全文检索、数据分析以及分布式
    • 开箱即用的,非常简单
  • 三、Elastic Search的应用场景
  • 四、Elastic Search的使用
    • 4.1 安装
    • 4.2修改配置文件
    • 4.3 启动
    • 4.51 安装图形化插件
  • 结论

一、Elastic Search简介

Elastic Search(简称ES)是一个基于Lucene构建的开源搜索引擎。Lucene是一个强大的全文搜索库,但ES在Lucene的基础上增加了分布式、RESTful API和实时搜索等功能。这使得ES成为一个适用于各种应用场景的强大搜索引擎。
在这里插入图片描述

二、Elastic Search的特点

支持分布式集群

可以作为一个大型分布式集群(数百台服务器)技术,处理PB级数据,服务大公司;也可以运行在单机上,服务小公司

ES可以在多个服务器上运行,从而实现横向扩展。这意味着你可以根据需求增加更多的节点来提高性能和可靠性。

支持将全文检索、数据分析以及分布式

Elasticsearch不是什么新技术,主要是将全文检索、数据分析以及分布式技术,合并在了一起,才形成了独一无二的ES;lucene(全文检索),商用的数据分析软件(也是有的),分布式数据库(mycat)

开箱即用的,非常简单

对用户而言,是开箱即用的,非常简单,作为中小型的应用,直接3分钟部署一下ES,就可以作为生产环境的系统来使用了,数据量不大,操作不是太复杂

三、Elastic Search的应用场景

日志分析:ES广泛用于日志数据分析,帮助企业快速定位问题和优化性能。
实时监控:ES可以实时地监控系统性能和状态,提醒管理员及时处理潜在问题。
社交网络:ES可以用于构建社交网络应用,实现即时搜索和推荐功能。
电子商务:ES可以帮助电商平台实现快速准确的商品搜索,提高用户体验。
大数据分析:ES可以与其他大数据技术结合使用,如Hadoop和Spark等,实现复杂的数据分析任务。

四、Elastic Search的使用

2.ElasticSearch安装(windows)

下载压缩包:

ElasticSearch的官方地址: https://www.elastic.co/products/elasticsearch

4.1 安装

注意:es使用java开发,使用lucene作为核心,需要配置好java环境!(jdk1.8以上)

类似与tomcat,直接解压即可。其目录结构如下:

es01

4.2修改配置文件

  • 修改conf\jvm.option文件
将#-Xms2g                                  
  #-Xmx2g修改成为:
-Xms340m
-Xmx340m
否则因为虚拟机内存不够无法启动
  • 修改conf\elasticsearch.yml文件
elasticsearch-5.6.8\config\elasticsearch.yml中末尾加入:
http.cors.enabled: true
http.cors.allow-origin: "*"
network.host: 127.0.0.1
目的是使ES支持跨域请求

4.3 启动

点击ElasticSearch下的bin目录下的elasticsearch.bat启动,控制台显示的日志信息如下:

es02

注意:9300是tcp通信端口,es集群之间使用tcp进行通信,9200是http协议端口。

我们在浏览器可以访问:

es03

4.51 安装图形化插件

上述可以发现,ElasticSearch不同于Solr自带图形化界面,我们可以通过安装ElasticSearch的head插件,完成图形化界面的效果,完成索引数据的查看。安装插件的方式有两种,在线安装和本地安装。本文档采用本地安装方式进行head插件的安装。elasticsearch-5-*以上版本安装head需要安装node和grunt 。

  • 下载head插件:https://github.com/mobz/elasticsearch-head

下载压缩包后解压即可。

  • 下载node.js:https://nodejs.org/en/download/

双击安装,通过cmd输入 node -v查看版本号

es04

  • 将grunt安装为全局命令 ,Grunt是基于Node.js的项目构建工具

在cmd中输入:

npm install ‐g grunt‐cli

在这里插入图片描述

由于访问的是国外的服务器,如果下载速度较慢,可以切换淘宝镜像

npm install -g cnpm –registry=https://registry.npm.taobao.org

后续使用的时候,只需要把npm xxx 换成 cnpm xxx 即可

检测是否安装成功

npm config get registry 

es29

注意:后续使用时需要将npm替换为cnpm

  • 启动head

进入head插件目录,打开cmd,输入:

>npm install
>grunt server

es06

打开浏览器,输入http://localhost:9100即可
在这里插入图片描述

结论

Elastic Search作为一个强大的开源搜索引擎,具有分布式、实时搜索、可扩展性等优点,适用于各种应用场景。无论是小型项目还是大型企业,ES都能提供高效的搜索和数据分析能力。如果你正在寻找一个可靠的搜索引擎,Elastic Search绝对值得一试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1856963.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个易于使用、与Android系统良好整合的多合一游戏模拟器

大家好,今天给大家分享的是一个易于使用、与Android系统良好整合的多合一游戏模拟器 Lemuroid。 Lemuroid 是一个专为Android平台设计的开源游戏模拟器项目,它基于强大的Libretro框架,旨在提供广泛的兼容性和卓越的用户体验。 项目介绍 Lem…

SQLServer 索引与数据完整性---学习笔记

索引 索引包含从表或视图中一个或多个列生成的键,以及映射到指定数据的存储位置的指针 索引是一个单独的、物理的数据库结构,在SQL Server中,索引是为了加速对表中数据行的检索而创建的一种分散存储结构。 它是针对一个表而建立的&#xff0…

【UIDynamic-动力学-UIAttachmentBehavior-附着行为-弹性附着 Objective-C语言】

一、弹性附着啊,我们来看一下, 1.刚才我们说了刚性附着,弹性附着,怎么着做啊,实际上,只需要多添加两个属性,就可以了, 实际上,添加一个,也可以啊, 我们把这个length,先注释掉, 先注释掉,self.attach.length = 100;这句话, 固定的长度啊,给它注释掉, 然后呢…

多源 BFS

例题一 解法(bfs)(多个源头的最短路问题) 算法思路: 对于求的最终结果,我们有两种⽅式: • 第⼀种⽅式:从每⼀个 1 开始,然后通过层序遍历找到离它最近的 0 。 …

Spring底层原理之bean的加载方式一 用XML方式声明bean 自定义bean及加载第三方bean 2024详解

目录 用XML方式声明bean 首先我们创建一个空的java工程 我们要导入一个spring的依赖 注意在maven工程里瞅一眼 我们创建一个业务层接口 还有四个实现类 我们最初的spingboot生命bean的方式是通过xml声明 我们在resources文件夹下创建一个配置文件 我们书写代码 首先初…

糖尿病早中期症状常常被人们忽视,从而错过最佳的干预时机。

我们都知道糖尿病有“三多一少”(多饮、多尿、多食、体重减少)的典型症状。然而,现实中糖尿病的表现并非总是如此清晰。更麻烦的是,糖尿病具有很强的隐匿性,若不做血糖检查,多数人难以察觉自己已患病。 今天…

什么无线麦克风音质最好,领夹无线麦克风最新推荐!

当今社会,直播销售的热潮与个人视频日志的流行趋势正重塑着内容创作领域的面貌,同时这也极大地激发了麦克风市场的活力。特别是无线领夹麦克风,它以轻便的设计理念和高效的录音性能,俘获了众多视频创作者的心。无论是在直播带货中…

算法常见问题

1.c虚函数 虚函数是用来实现多态(polymorphism) 的一种机制。通过使用虚函数,可以在子类中重写父类中定义的方法,并且在运行时动态地确定要调用哪个方法。 在类定义中将一个成员函数声明为虚函数,需要使用 virtual 关键字进行修饰 。 通过指向…

大语言模型(LLMs)能够进行推理和规划吗?

大语言模型(LLMs),基本上是经过强化训练的 n-gram 模型,它们在网络规模的语言语料库(实际上,可以说是我们文明的知识库)上进行了训练,展现出了一种超乎预期的语言行为,引…

基于Springboot + vue 的抗疫物质管理系统的设计与实现

目录 📚 前言 📑摘要 📑系统流程 📚 系统架构设计 📚 数据库设计 📚 系统功能的具体实现 💬 系统登录注册 系统登录 登录界面 用户添加 💬 抗疫列表展示模块 区域信息管理 …

水泥超低排平台级别

在当今社会,环保已成为各行各业发展的重要指标。水泥行业作为国民经济的基础产业,其环保水平的高低直接关系到整个行业的可持续发展。近年来,朗观视觉水泥超低排平台作为水泥行业环保领域的新宠,受到了广泛关注。那么,…

STL —— 用一棵红黑树同时封装出map和set

文章目录 红黑树源代码RBTree.h 红黑树模板参数的控制红黑树结点当中存储的数据模板参数中仿函数的增加普通迭代器和const迭代器的实现myMap.hmySet.hRBTree.h 红黑树源代码 使用KV模型的红黑树进行封装,同时模拟实现出CSTL库当中的map和set RBTree.h //枚举定义…

网络安全:Web 安全 面试题.(XSS)

网络安全:Web 安全 面试题.(XSS) 网络安全面试是指在招聘过程中,面试官会针对应聘者的网络安全相关知识和技能进行评估和考察。这种面试通常包括以下几个方面: (1)基础知识:包括网络基础知识、操作系统知…

axios的基本使用和vue脚手架自带的跨域问题解决

axios的基本使用和vue脚手架自带的跨域问题解决 1. axios 1.1 导入axios npm i axios1.2 创建serve1.js serve1.js const express require(express) const app express()app.use((request,response,next)>{console.log(有人请求服务器1了);console.log(请求来自于,re…

【BES2500x系列 -- RTX5操作系统】深入探索CMSIS-RTOS RTX -- 任务管理篇 -- 线程管理 --(二)

💌 所属专栏:【BES2500x系列】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#x1f49…

SSM图书馆管理系统-计算机毕业设计源码07925

摘 要 “鸟欲高飞先振翅,人求上进先读书”,可见读书对我们的重要性,在这个高速发展的社会,人们也越来越意识到读书的重要性,人们需要汲取各个领域的知识,不断的拓展自己的知识水平,图书馆作为一…

华为---OSPF的DR与BDR(六)

9.6 OSPF的DR与BDR 9.6.1 原理概述 在OSPF的广播类型网络和NBMA类型网络中,如果网络中有n台路由器,若任意两台路由器之间都要建立邻接关系,则需要建立n(n-1)/2个邻接关系,即当路由器很多时,则需要建立和维护的邻接关…

MTK7628+MT7612 加PA定频数据

1、硬件型号TR726A5G121-DPA PC9.02.0017。如下所示: 2、WIFI5.8 AC模式 42(5120MHz)信道,80带宽 3、WIFI5.8 AC模式 38(5190MHz)信道,40带宽 4、WIFI5.8 AC模式 36(5180 MHz&…

【Linux】进程间通信上 (1.5万字详解)

目录 一.进程间通信介绍 1.1进程间通信的目的 1.2初步认识进程间通信 1.3进程间通信的种类 二.匿名管道 2.1何为管道 2.1实现原理 2.3进一步探寻匿名管道 2.4编码实现匿名管道通信 2.5管道读写特点 2.6基于管道的进程池设计 三.命名管道 3.1实现原理 3.2代码实现 四.…

asp.net core反向代理

新建项目 新建空白的asp.net core web项目 安装Yarp.ReverseProxy包版本为2.2.0-preview.1.24266.1 编写代码 namespace YarpStu01;public class Program {public static void Main(string[] args){var builder WebApplication.CreateBuilder(args);builder.Services.AddRev…