ElasticSearch入门

Elasticsearch:ES QL 入门 - Python Notebook ⚠️ 不要在生产环境中使用 ES|QL。此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。ES|QL 将在 8.13 正式发布(以官方发布为准)。在一下的展示中,我将使用 Elastic Stack 8.12 来进行展示。 阅读详情

一.ElasticSearch 简介

1.概述:

        Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够实现在海量数据中快速检索到满足条件的数据,同时还可以实现分页、高亮显示等功能。

2.ELK技术栈:

  • Elasticsearch:存储、搜索、分析数据

  • Kibana:数据可视化、提供了图形化界面,可以操作ES

  • Logstash、Beats:数据抓取

3.倒排索引

3.1 概述

        从文件的内容查找,得到包含这些内容的文件列表,再得到文件对应的信息,如文件名、作者、文件大小、创建时间等

3.2 实现过程

  1. 将文档的内容通过算法进行分词,得到一个词条列表
  2. 将词条列表当作key,包含该词条的文档id列表作为值,形成一张表
  3. 词条是唯一的,所以给词条创建索引,提高搜索效率
  4. 通过词条查询,得到文档ID,再通过文档ID查询到具体的文档

二.基础概念

1. index 索引(索引库)

  • 索引就相当于MySql里的数据库,它是具有某种相似特性的文档集合。反过来说不同特性的文档一般都放在不同的索引里;
  • 索引的名称必须全部是小写;
  • 在单个集群中,可以定义任意多个索引;
  • 索引具有mapping和setting的概念,mapping用来定义文档字段的类型,setting用来定义不同数据的分布。

2.文档(Document)

  • 我们知道Java是面向对象的,而Elasticsearch是面向文档的,也就是说文档是所有可搜索数据的最小单元。ES的文档就像MySql中的一条记录,只是ES的文档会被序列化成json格式,保存在Elasticsearch中;
  • 这个json对象是由字段组成,字段就相当于Mysql的列,每个字段都有自己的类型(字符串、数值、布尔、二进制、日期范围类型);
  • 当我们创建文档时,如果不指定字段的类型,Elasticsearch会帮我们自动匹配类型;
  • 每个文档都有一个ID,类似MySql的主键,咱们可以自己指定,也可以让Elasticsearch自动生成;
  • 文档的json格式支持数组/嵌套,在一个索引(数据库)或类型(表)里面,你可以存储任意多的文档。

3.Field 字段

好比关系型数据库中列的概念,一个document有一个或者多个field组成。

三.索引库操作

        前面我们已经介绍过了ES 是RESTful 风格的系统,所以我们需要先掌握RESTful 的四个关键词:PUT(修改),POST(添加),DELETE(删除),GET(查询)。其中在ES里面PUT和POST的界限并不是很分明,有时候PUT也作为添加。

1.创建索引库

创建空索引库

PUT /demo
{
  "settings": { 
    "number_of_shards": "2", 
    "number_of_replicas": "0"
  } 
}

创建索引库并指定mapping

PUT /demo
{
  "mappings": {
    "properties": {
      "info":{
        # type: 指定类型
        "type": "text",
        # analyzer: 指定分词器
        "analyzer": "ik_smart",
        # index: 是否是索引
        "index": true,
        # store :是否存储
        "store": true
      },
      
      "name":{
        "properties": {
          "firstName":{
            "type":"keyword"
          },
          "lastName":{
            "type":"keyword"
          }
        }
      }
  }
}

2.查询、删除索引库

#查询索引: GET /索引库名
GET /demo
#查询索引: DELETE /索引库名
DELETE /demo

3.修改索引库

#修改数据库,其实就是往索引库汇中添加字段
#PUT /索引库名/_mapping
PUT /demo/_mapping
{
"properties":{
     "新字段名":{
         "type":"integer"
        }   
    }
}

四.文档操作

1.增加文档

POST /索引名/_doc/文档ID
{
      //json格式数据
}

2.删除文档

#删除文档
DELETE /索引库名称/_doc/文档ID

3.修改文档

#PUT修改是直接覆盖,字段理应写全
PUT /索引名/_doc/文档ID
{
      //json格式
}

#POST修改是不会覆盖的,用于修改部分字段
POST /索引库名/_update/文档id
{
    "doc": {
         "字段名": "新的值",
    }
}

4.查询文档

4.1 查询文档

#根据文档ID查询文档
GET /索引库名称/_doc/文档ID

#查询全部文档
GET /索引库名称/_search

4.2 ES搜索

4.2.1 基本语法
#根据内容查询文档基本语法 (即搜索功能)
GET /索引库名称/_search
{
  "query": {
    "查询类型": {
      "查询条件": "条件值"
    }
  }
}
4.2.2 全文检索查询
# match查询,单字段查询 
GET /索引库名称/_search
{
  "query": {
    "match": {
      "查询条件": "条件值"
    }
  },
  "from": 0,
  "size": 200
}


#multi_match 多字段查询,任意一个字段符合条件就算符合查询条件
GET /索引库名称/_search
{
  "query": {
    "multi_match": {
      "query": "查询文本",
      "fields": [字段1,字段2,字段3]
    }
  }
}
4.2.3 精确查询
# term查询 根据词条精确值查询
GET /索引库名称/_search
{
  "query": {
    "term": {
      "字段": {
        "value": "文本"
      }
    }
  }
}
 
# range 查询  根据值的范围查询,一般应用在对数值类型做范围过滤的时候
GET /索引库名称/_search
{
  "query": {
    "range": {
      "字段": {
        #示例,此处写的是 大于和小于的条件范围
        "gte": 10,
        "lte": 20
      }
    }
  }
}
4.2.4 地理坐标查询
#经纬度查询
GET /索引库名称/_search
{
  "query": {
   "geo_distance":{
     "location":"先写纬度,再写经度",
     "distance":"距离"
   }
  }
}

GET /索引库名称/_search
{
  "query": {
   "geo_distance":{
       #location 还可以写成这样
      "location":{
      "lat":"纬度",
      "lon":"经度"
     },
     "distance":"距离"
     
   }
  }
}
4.2.5 布尔查询
#布尔查询
GET /索引库名称/_search
{
  "query": {
    "bool": {
     # must 必须匹配每个子查询,类似“与” 
     "must": [
        {查询条件,此处可使用上述所有查询类型}
      ],
      # must_not 必须不匹配,**不参与算分**,类似“非”
      "must_not": [
        {查询条件,此处可使用上述所有查询类型}
      ],
      # should:选择性匹配子查询,类似“或”
      "should": [
        {查询条件,此处可使用上述所有查询类型}
      ],
      # filter:必须匹配,**不参与算分**
      "filter": [
        {查询条件,此处可使用上述所有查询类型}
      ]
    }
  }
}

五. Java操作ES

注:本文ES版本为7.12.1,已无Type

1.环境准备

1.1 导入依赖

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
</dependency>

1.2 修改ES版本 

<elasticsearch.version>设置想要的版本</elasticsearch.version>

1.3 初始化RestHighLevelClient

该步骤仅做参考即可,可以有各种各样的方法初始化RestHighLevelClient

/**
 * ES常量类
 */
public interface EsConstant {
    String ES_URL = "配置ES的url常量";

    String INDEX = "配置索引库名称常量";

    String MAPPING = "配置Mapping常量";
}

/**
 * 配置类
 */
@Configuration
public class EsConfig {
    /**
     * 将RestHighLevelClient的Bean交给Spring管理
     * @return
     */
    @Bean
    public RestHighLevelClient client(){
        return new RestHighLevelClient(RestClient.builder(HttpHost.create(EsConstant.ES_URL)));
    }
}

2.索引库操作

2.1 创建索引库

示例:

//构造请求对象
CreateIndexRequest createIndexRequest = new CreateIndexRequest(EsConstant.INDEX);
//指定索引库映射条件
createIndexRequest.source(EsConstant.MAPPING, XContentType.JSON);
//创建索引库
CreateIndexResponse response = client.indices()
.create(createIndexRequest, RequestOptions.DEFAULT);
//这里可以对响应结果解析
String index = response.index();
boolean acknowledged = response.isAcknowledged();
//打印索引库名称和创建是否成功
System.out.println("index名称:" + index + "\n" + "acknowledged: " + acknowledged);

源码:

//参数一:创建索引库请求对象, 
//参数二:此处写RequestOptions.DEFAULT 固定写法即可
//参数二内容可能为ES以后扩展所用的参数,所有方法中,含该参数都写固定写法即可
public CreateIndexResponse create(CreateIndexRequest createIndexRequest,
                                      RequestOptions options) throws IOException {
        return restHighLevelClient.performRequestAndParseEntity(createIndexRequest, IndicesRequestConverters::createIndex, options,
            CreateIndexResponse::fromXContent, emptySet());
    }

2.2 查询、删除索引库 

示例:查询、删除索引库,除了API不一样,实现整体过程都类似


//构造查询请求对象
GetIndexRequest getIndexRequest = new GetIndexRequest(EsConstant.INDEX);

//查询索引库,client.indices().get()
client.indices().get(getIndexRequest , RequestOptions.DEFAULT);


//构造删除请求对象
DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest(EsConstant.INDEX);

//删除索引库,client.indices().delete()
client.indices().delete(deleteIndexRequest, RequestOptions.DEFAULT);

3.文档操作

3.1 基本操作

3.1.1  增加文档
//创建增加文档的请求对象
IndexRequest indexRequest = new IndexRequest(EsConstant.INDEX);
//设置文档ID和数据
indexRequest.id(文档对象ID.toString())
     .source(JSONObject.toJSONString("文档对象"), XContentType.JSON);
//增加文档到索引库
IndexResponse response = client.index(indexRequest, RequestOptions.DEFAULT);
3.1.2 根据id查询文档
//public GetRequest(String index, String id) 构造方法
//参数一 索引库 参数二 要查询的文档id
GetRequest getRequest = new GetRequest(EsConstant.INDEX, "文档id");
//查询文档
GetResponse response = client.get(getRequest, RequestOptions.DEFAULT);
//从response获取source转为对象
String json = response.getSourceAsString();
类 对象 = JSONObject.parseObject(json, 类.class);
3.1.3 更新文档
//1.获取要更新的对象
//2.创建更新文档的请求对象
//public UpdateRequest(String index, String id)
//参数一 索引库 参数二 要查询的文档id
UpdateRequest updateRequest = new UpdateRequest(EsConstant.INDEX, "待更新文档ID");
//3.通过doc方法设置更新文档
updateRequest.doc(json, XContentType.JSON);
//4.根据请求对象更新文档
UpdateResponse response = client.update(updateRequest, RequestOptions.DEFAULT);
3.1.4 删除文档
//创建删除文档的请求对象
//public DeleteRequest(String index, String id)
//参数一 索引库 参数二 要删除的文档id
DeleteRequest deleteRequest = new DeleteRequest(EsConstant.INDEX, "要删除的文档id");
//根据请求对象删除文档
DeleteResponse response = client.delete(deleteRequest, RequestOptions.DEFAULT);

3.1.5 批量导入数据到索引库
//1.获取要导入的数据,一般为集合对象,示例 demolist
//2.构造BulkRequest
BulkRequest bulkRequest = new BulkRequest();
//3.将数据批量添加到请求对象中
for (Demo demo:  demolist) {
      bulkRequest.add(new IndexRequest(EsConstant.INDEX)
           .id(demo.getId().toString())
           .source(JSONObject.toJSONString(demo), XContentType.JSON));
    }
//4.通过bulk方法批量添加数据
BulkResponse response = client.bulk(bulkRequest, RequestOptions.DEFAULT);

3.2  查询操作

3.2.1  全文检索查询
(1). match_all()
//1.构建请求对象
SearchRequest searchRequest = new SearchRequest(EsConstant.INDEX);
//2.封装查询条件
searchRequest.source()
        .query(QueryBuilders.matchAllQuery());
//3.执行查询
SearchResponse response = client.search(searchRequest, RequestOptions.DEFAULT);
//4.解析结果
SearchHit[] hits = response.getHits().getHits();
//通过遍历hits数组可以输出文本内容
for (Object hit : hits) {
     String json = hit.getSourceAsString();
     Object object = JSONObject.parseObject(json, Object.class);
     System.out.println(object);
}
ElasticSearch最新版快速入门详解 本文把最新版的ElasticSearch和kibana的知识点用通俗易懂的语言来展现,并会在核心概念上和MySql对比,结合示例进行图文并茂的详解,同时还给大家提供百分百成功的极速安装配置方法哦! 阅读详情

相关推荐

Halcon阈值算子 -- 局部阈值之dyn_threshold

Halcon阈值算子 – dyn_threshold HALCON有很多阈值算子,接下来将一一介绍。本文先介绍dyn_threshold。 以下介绍主要参考HALCON帮助文档,并加上自己的体会。如有纰漏,欢迎留言指出 理论介绍 dyn_threshold算子的函数签名如下: dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : ) 输入参数有: OrigImage:待处理图像 ThresholdIm

m0_47015717的博客 5385

全文搜索引擎Elasticsearch6.x 入门

全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。    Elastic 的底层是开源的Lucene。Elastic提供了REST API的操作接口。是Lucene的扩展。底层依旧是索引,但是可以把大索引切成n片,放到不同的节点,所以就实现了分布式。也就理所当然的是读写负载均衡。此外,他还是一个分布式实时文档

Ghost_02的博客 1万+

详解k-means++

一、概述 定义:k-means++是一种为k-means聚类算法选择初始值(或“种子”)的算法。它是NP-hard k-means问题的一种近似算法,它是一种避免标准k-means算法有时发现的较弱聚类的方法。 K-means与K-means++:原始K-means算法最开始随机选取数据集中K个点作为聚类中心,而K-means++按照如下的思想选取K个聚类中心:假设已经选取了n个初始聚类中心(0<n<K),则在选取第n+1个聚类中心时:距离当前n个聚类中心越远的点会有更高的概率被选为第n+1个聚

qq_42364307的博客 3万+

ElasticSearch全文搜索引擎入门到入土

ElasticSearch全文搜索引擎,- 全文搜索Lucene入门 - ElasticSearch概述和安装 - ElasticSearch的基本使用 - ElasticSearch在Java中使用

weixin_48133130的博客 747

Unity动态创建Avatar骨骼映射

Unity Avatar骨骼映射动态创建,适配Unity通用动画,无需经过第三方建模软件,可运行时创建

Nbin_Newby的博客 1万+

matlab生成blocks、bumps和doppler标准测试信号

关键函数:wnoise使用方式X = wnoise(FUN,N) [X,XN] = wnoise(FUN,N,SQRT_SNR) [X,XN] = wnoise(FUN,N,SQRT_SNR,INIT)X = wnoise(FUN,N) 返回由 FUN给出的信号,长度为2^N,幅值范围[0,1].[X,XN] = wnoise(FUN,N,SQRT_SNR) ,返回了一个测试信号X,以及一个加噪

ZSZ_shsf的博客 6580

搜索引擎Elasticsearch入门——学习笔记

官网地址具备下列优势:支持分布式,可水平扩展;提供Restful接口,可被任何语言调用结合kibanaLogstashBeats,是一整套技术栈,被叫做ELK。被广泛应用在日志数据分析、实时监控等领域。

2501_90975132的博客 1183

Windows 24H2升级后eNSP AR_40报错40?VirtualBox虚拟化修复指南

虚拟化技术通过Hypervisor在操作系统与硬件间建立抽象层,使虚拟机能够共享物理资源。其核心原理依赖CPU的VT-x/AMD-V指令集,而Windows 24H2对内核隔离与驱动签名的强化会直接占用或拦截这些虚拟化资源。在工程实践中,VirtualBox作为Type-2型Hypervisor,常因内存完整性开启或版本过旧导致虚拟网卡创建失败,进而引发设备启动中断。典型场景包括网络仿真实验、多系统测试环境搭建等。当eNSP的AR_40路由器依赖VirtualBox引擎时,24H2的安全策略变更便会触发错误

weixin_34375251的博客 216

Elasticsearch搜索引擎入门到进阶

Elasticsearch是基于Lucene构建的开源搜索引擎,它提供了一个分布式、RESTful的搜索和分析引擎,能够对数据进行实时分析。其高度可扩展性和灵活性使其在处理复杂数据搜索需求时表现出色。优势特点:分布式存储:Elasticsearch可以在多台服务器上存储和检索数据,实现高可用性和负载均衡。:通过HTTP请求,可以轻松地与其他应用程序集成。本文详细介绍了Elasticsearch搜索引擎的入门到进阶内容,从基础概念、搜索查询到性能优化和实践应用等方面进行了全面阐述。

emilio15979289的博客 415

【DeepSeek实战】1、DeepSeek民用级开发全指南:从0到1掌握AI应用开发与模型蒸馏实战

DeepSeek创新性地打破了传统AI开发的技术壁垒,通过双模型架构(DeepSeek-V3和R1)实现普惠化与专业化并重。其核心优势包括:零代码操作、浏览器直接使用、中文提示词控制及低成本(2元/百万token)。用户通过简单三步(注册-配置-使用)即可快速开启AI之旅,平台提供$50免费额度支持2个月高频使用。 四大核心应用场景: 办公自动化:周报撰写、PPT生成、数据分析一键完成 内容创作:提供爆款标题生成、垂直领域写作模板 学习辅助:支持文档解析、错题讲解、知识图谱构建 生活服务:个性化行程规划

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 1735

极智嘉嵌入式面试题及参考答案

IIC(Inter-Integrated Circuit)即集成电路总线,是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。它仅使用两根线,即串行数据线 SDA 和串行时钟线 SCL,就能实现多个设备之间的通信,具有简单、高效、占用资源少等优点,广泛应用于各种嵌入式系统中。

大模型大数据攻城狮的专栏 921

Elasticsearch搜索引擎入门

Elasticsearch是一款基于Lucene构建的开源搜索引擎,它提供了一个分布式、RESTful的搜索和分析引擎,适用于处理大量的数据。Elasticsearch具有高度的可扩展性、灵活性和实时性,被广泛应用于日志分析、实时监控、全文检索等场景。本文从Elasticsearch的基本概念、安装与配置、核心功能及应用场景等方面为您详细介绍了如何入门Elasticsearch搜索引擎。

2501_92487717的博客 434

【Unity引擎技术整合】 Unity学习路线 | 知识汇总 | 持续更新 | 保持乐趣 | 共同成长

本文对Unity引擎的知识进行了一个整理总结,基本包含了Unity中大部分的知识介绍。 网上也有很多Unity相关的学习资料,但大多数都不成体系,学起来的时候难免会东奔西走的摸不着头脑。 本文整理的多数文章都是有对应的系列性文章专栏,可以更方便的进行系统学习相关知识体系。

努力前行,总会成为自己心中的那道光 15万+

Elasticsearch - 基础入门篇

Elasticsearch应用范围这么广,你确定不来学习学习?

Apollo 1347

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

ElasticSearch(ES) 搜索入门笔记

ElasticSearch(ES) 搜索入门笔记,如何创建mapping,analyzer,如何搜索等

beingstrong的博客 1699

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

分布式搜索引擎ES-elasticsearch入门

正排索引:相当于文档中的一条条记录;例子:汉语值得学习;汉语是语言;汉语学习视频;倒排索引:起源于实际应用中需要根据属性的值来查询记录。这种索引表的每一项都包括一个属性值和包含该属性值得各个记录地址。由于不是根据记录来确定属性,而是根据属性来确定记录的位置。可以记录文档的ids,词频跟位置例子:汉语值得学习;汉语是语言;汉语学习视频;单词文档ids词频TF;位置POS汉1,2,3语1,2,3值得11:1:<3>学习1,3是21:1;<3>言2。

TOMORROW6COME的博客 2051

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Elasticsearch 入门

Elasticsearch 是一个分布式的开源搜索和分析引擎,适用于各种数据,包括文本、数字、元数据等。它能够实现实时的文档检索、分析和可视化,被广泛应用于网站和应用的全文搜索功能中。Elasticsearch 基于 Lucene 开发,但它的目标是比 Lucene 更加简单易用,通过 RESTful API 提供了强大的功能集合,允许用户执行复杂的多字段查询,并能快速获取结果。

junxinsiwo的专栏 5034

【Elasticsearch】ES基础入门脑图

weixin_40413961的博客 661

ES搜索引擎入门+最佳实践(一)

本篇文章计划给大家介绍什么ES,ES的架构,以及ES搜索入门.我尽量用简单不拖沓的语言给大家介绍,水平有限,时间也有限,各位读者如发现文中有不当之处,请留言指正.ES的全称是Elasticsearch,翻译过来就是弹性搜索,知道就可以,不用纠结这个词的含义,我觉得这个词并不能表述ES的含义.ES并不是传统意义上的数据库,所以不需要用传到的数据库例如Oracle,mysql等数据库与ES进行类比.ES是建立在Lucene(全文搜索)基础上的分布式准实时搜索引擎.

柳老师的博客 3391

Elasticsearch 入门指南:从零开始学搜索引擎

是一款基于 Lucene 的分布式搜索引擎,它不仅支持高效的全文检索,还能处理结构化数据的复杂查询。对于一个大三学生来说,掌握 Elasticsearch 的基础知识不仅能提升你的技术栈,还能为未来的实习或工作增添一份竞争力。通过本文的学习,相信你已经对 Elasticsearch 的核心概念、基本操作以及一些实用技巧有了初步的了解。在当今的信息时代,搜索功能几乎是每个应用程序的核心需求。无论是电商网站的商品搜索、社交媒体的内容检索,还是日志分析中的关键词查找,搜索都在发挥着不可或缺的作用。

Leaton的博客 1273

Elasticsearch搜索引擎入门教程

Elasticsearch是一款基于Lucene的分布式、RESTful搜索和分析引擎。它适用于处理大规模数据,提供快速、高效的数据搜索功能。Elasticsearch广泛应用于日志分析、实时监控、搜索引擎等领域。本文详细介绍了Elasticsearch搜索引擎的入门教程,包括安装与部署、核心概念、基本操作和进阶操作。通过学习本文,您可以快速掌握Elasticsearch的基本使用方法,为后续的实际应用打下基础。

pPgCGmuIvd的博客 382

入门ElasticSearch :为什么选择ES作为搜索引擎?

随着数据量的不断增长,搜索和分析大规模数据集变得越来越重要。传统数据库在面对这种需求时往往表现不佳,这时候就需要一种专门用于搜索和分析的引擎。ElasticSearch (简称ES)就是这样一款强大的搜索引擎,它具有许多优势,使得它成为许多企业和开发者的首选。是一个的的引擎在我看来ES最强的其实是它的模糊搜索功能。那有的人就会问了:我数据库一样可以实现模糊搜索啊?例如这个sql就可以查出姓名中带有宁正两字的学生的确,这这样做是可以模糊搜索的,但是。

qq_43649799的博客 4127

全文搜索引擎 Elasticsearch 入门教程

全文搜索是什么 全文搜索引擎就是通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户。 ES是一个基于 Lucene 库的搜索引擎。它提供了一个分布式的、支持多租户的全文搜索引擎,该引擎具有 HTTP web 界面和无模式的 JSON 文档。是用 Java 开发的。遵循开放核心业务模式,部分软件根...

叉叉敌的博客 631

系统学习 ES(elasticsearch)搜索引擎 1 --- 入门理解篇

1.入门篇: 为什么使用ES? 【参考下面】转 Elasticsearch学习,请先看这一篇! https://blog.youkuaiyun.com/laoyang360/article/details/52244917 (1)思考:大规模数据如何检索? (2)传统数据库的应对解决方案 (3)非关系型数据库的解决方案 另辟蹊径——完全把数据放入内存怎么样? 1.1 ES定义 ES=...

m0_38138534的博客 2468

Elasticsearch搜索引擎入门与实战应用

Elasticsearch是一个基于Lucene构建的搜索引擎,它提供了丰富的RESTful API,可以轻松地实现数据的索引、搜索、分析和存储。Elasticsearch广泛应用于日志数据分析、实时监控、全文搜索等领域。本文从Elasticsearch的入门基础、核心概念、实战应用以及性能优化等方面进行了详细阐述。通过本文的学习,读者可以快速掌握Elasticsearch的基本使用方法,并在实际项目中灵活运用。

2501_92489038的博客 512
上一篇: RabbitMQ入门
下一篇: Java多线程(一)
Gblwsnd
博客等级 码龄3年 0粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值