ES前置定义和描述

news/2024/12/13 20:09:52/

目录

  • 介绍说明
  • 全文检索
  • 倒排索引
  • ES和Solr的对比
  • 数据结构(存储非结构化数据)

介绍说明

基于Apache Lucene构建的开源分布式搜索和分析引擎,专为处理大规模数据而设计。
java语言开发的web项目

全文检索

定义:一种非结构化数据的搜索方式
结构化数据:固定长度固定格式,比如数据库中的字段
非结构化数据:格式长度不固定,比如电商网站商品详情(包含文字,图片等)
搜索方式:全文检索通过建立倒排索引加快搜索效率

倒排索引

索引:提取出一部分数据信息,并组成一定的数据结构,使得用户可通过此结构进行搜索。
正排索引:以数据库中的主键建立正排索引
倒排索引:在非结构化数据中,根据数据中的关键词建立索引,并建立指向文档。
倒排索引
倒排索引创建流程
在这里插入图片描述

ES和Solr的对比

特性SolrElasticsearch
分布式管理利用Zookeeper进行分布式管理自身带有分布式协调管理功能
数据格式支持支持更多格式的数据仅支持json文件格式
功能提供官方提供的功能更多本身更注重于核心功能,高级功能多由第三方插件提供
搜索应用表现在传统的搜索应用中表现好于Elasticsearch在处理实时搜索应用时效率明显高于Solr
市场占有率-越来越高,受到更多公司的青睐
Spring支持Spring Data Solr曾受支持Spring从2020年起停止Spring Data Solr的维护,转向Elasticsearch

数据结构(存储非结构化数据)

7.0之前有type后续,8.0则完全移除type这个概念。

JAVA项目Elasticsearch (ES)MySQL
实体类(Entity Class)索引(Index)*表(Table)
对象(Object)文档(Document)行(Row)
属性(Attribute/Field)字段(Field)列(Column)

http://www.ppmy.cn/news/1554840.html

相关文章

github创建发布分支

创建一个名为 latest 的分支,并将其作为稳定版本分支。以下是操作步骤: 1. 创建 latest 分支 首先,确保你在 master 分支(或当前的稳定版本分支)上,并且已经提交了所有更改。然后,你可以创建一…

麒麟信安推出支持信创PC的新一代云桌面方案,助力政务信创高效安全运维

12月11日,在第二届国家新一代自主安全计算系统产业集群融通生态大会上,麒麟信安发布了支持信创PC的新一代云桌面方案,该方案是基于国际TCI架构实现国产PC机云化纳管在国内的首次发布,并与银河麒麟桌面操作系统、长城国产PC整机实现…

设计模式学习之——工厂模式

设计模式中的工厂模式主要分为三种:简单工厂模式(Simple Factory Pattern)、工厂方法模式(Factory Method Pattern)和抽象工厂模式(Abstract Factory Pattern)。 下面是对这三种工厂模式的详细…

360极速浏览器不支持看PDF

360安全浏览器采用的是基于IE内核和Chrome内核的双核浏览器。360极速浏览器是源自Chromium开源项目的浏览器,不但完美融合了IE内核引擎,而且实现了双核引擎的无缝切换。因此在速度上,360极速浏览器的极速体验感更佳。 展示自己的时候要在有优…

Vue.js组件开发:提升你的前端工程能力

Vue.js 是一个用于构建用户界面的渐进式框架,它允许开发者通过组件化的方式创建可复用且易于管理的代码。在 Vue.js 中开发组件是一个直观且高效的过程,下面我将概述如何创建和使用 Vue 组件,并提供一些最佳实践。 1. 创建基本组件 首先&am…

前端自己也能开启HTTPS

目录 前言 使用mkcert 安装 创建证书 利用 mkcert 创建 ca 根据 ca 创建 cert 安装证书 项目开启HTTPS 安装插件 配置 vitecofnig.js 最终效果 前言 今天我发现了一个宝藏,兄弟们!就是前端开发阶段是可以使用https来开发的。对不懂前端的后端兄…

复习 part one

synchronized 和 ReentrantLock的区别 synchronized 和 ReentrantLock 都是 Java 中提供的可重入锁,二者的主要区别有以下 5 个: 用法不同:synchronized 可以用来修饰普通方法、静态方法和代码块,而 ReentrantLock 只能用于代码块…

【JAVA】Java高级:Spring框架与Java EE—Spring框架概述(控制反转、依赖注入)

Java开发中,Spring框架是一个极为重要的工具,它为开发者提供了一个全面的编程和配置模型,能够简化企业级应用程序的开发。Spring框架通过控制反转(IoC)和依赖注入(DI)等核心概念,使得…