Elasticsearch入门

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

Elasticsearch入门

1、ES9300端口号与9200区别
2、Elasticsearch倒排索引原理
3、Elasticsearch高级查询
4、ElasticsearchIK分词器原理
5、ElasticsearchIK中文分词器
6、IK自定义中文词典热词
7、Elasticsearch Mapping映射

 

1.区别:

9300与9200区别

9300端口: ES节点之间通讯使用
9200端口: ES节点 和 外部 通讯使用

 

9300是TCP协议端口号,ES集群之间通讯端口号

9200端口号,暴露ES RESTful接口端口号       kabana就是用的这个哈  Put /xxxxxxx...     Get /xxxxx

 

修改下面:

 访问:  与之对应呀!

 

Restful 接口 对文档进行操作 进行增删改查~

 

2.倒排索引

  为什么倒排索引比B+数查询速率还要快?

  

正向索引

正排表是以文档的ID为关键字,表中记录文档中每个字的位置信息,查找时扫描表中每个文档中字的信息直到找出所有包含查询关键字的文档。

这种组织方法在建立索引的时候结构比较简单,建立比较方便且易于维护;因为索引是基于文档建立的,若是有新的文档加入,直接为该文档建立一个新的索引块,挂接在原来索引文件的后面。若是有文档删除,则直接找到该文档号文档对应的索引信息,将其直接删除。但是在查询的时候需对所有的文档进行扫描以确保没有遗漏,这样就使得检索时间大大延长,检索效率低下。     

尽管正排表的工作原理非常的简单,但是由于其检索效率太低,除非在特定情况下,否则实用性价值不大。

 

倒排索引

倒排表以字或词为关键字进行索引,表中关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段,它记录该文档的ID和字符在该文档中出现的位置情况。

由于每个字或词对应的文档数量在动态变化,所以倒排表的建立和维护都较为复杂,但是在查询的时候由于可以一次得到查询关键字所对应的所有文档,所以效率高于正排表。在全文检索中,检索的快速响应是一个最为关键的性能,而索引建立由于在后台进行,尽管效率相对低一些,但不会影响整个搜索引擎的效率。

 

 

正排索引是从文档到关键字的映射(已知文档求关键字),倒排索引是从关键字到文档的映射(已知关键字求文档)。

 

  比如:

   

文档内容:

序号

文档内容

1

小俊是一家科技公司创始人,开的汽车是奥迪a8l,加速爽。

2

小薇是一家科技公司的前台,开的汽车是保时捷911

3

小红买了小薇的保时捷911,加速爽。

4

小明是一家科技公司开发主管,开的汽车是奥迪a6l,加速爽。

5

小军是一家科技公司开发,开的汽车是比亚迪速锐,加速有点慢

 

倒排索引会对以上文档内容进行关键词分词,可以使用关键次直接定位到文档内容。

 

单词ID

单词

倒排列表docId

1

小

1,2,3,4,5

2

一家

1,2,4,5

3

科技公司

1,2,4,5

4

开发

4,5

5

汽车

1,2,4,5

6

奥迪

1,4

7

加速爽

1,3,4

8

保时捷

2,3

9

保时捷911

2

10

比亚迪

5

 

搜索 “奥迪”  

传统的正向索引:   去每个文档搜索

          倒排索引:   基于文档内容进行关键词分词,利用关键词定位       就是个词库

 

3.高级查询

  简单查询:

   GET /toov5/user/2 

 查询user(表)下面的所有数据:

  GET /toov5/user/_search  

 根据多个Id查询:

GET /toov5/user/_mget
{
"ids":["1","2"]
}

 查询年龄为66的:

 GET  /toov5/user/_search?q=age:66

 复杂条件:区间  10到70的

 GET  /toov5/user/_search?q=age:[10 TO  70]

 对年龄降序排列:

GET  /toov5/user/_search?q=age:[10 TO  70]&sort=age

 分页查询

 GET  /toov5/user/_search?q=age:[10 TO  70]&sort=age:desc&from=0&size=2     #前两条数据

 

DSL语言查询与过滤

es中的查询请求有两种方式,一种是简易版的查询,另外一种是使用JSON完整的请求体,叫做结构化查询(DSL)。
由于DSL查询更为直观也更为简易,所以大都使用这种方式。
DSL查询是POST过去一个json,由于post的请求是json格式的,所以存在很多灵活性,也有很多形式。

##term 是精确匹配  不做分词查询!  

GET toov5/user/_search
{
"query": {
"term": {
"age": 66
}
}

}

竞争对手是 like  哈哈   模糊查询   马云相关的    match支持分词查询  “马”

GET toov5/user/_search
{
"query": {
"match": {
"name": "马"
}
}

}

term查询不会对字段进行分词查询,会采用精确匹配。  也可以做分页

match会根据该字段的分词器,进行分词查询。

把马云拆了  哈哈   

 

分页:

GET toov5/user/_search
{ "from":0,
"size": 2,
"query": {
"match": {
"name": "马"
}
}
}

还有 filter多虑    年龄大于21 小于51岁的    _source表示限制展示哪些字段

GET /toov5/user/_search
{
"query": {
"bool": {
"must": [{
"match_all": {}
}],
"filter": {
"range": {
"age": {
"gt": 21,
"lte": 51
}
}

}

}

},
"from": 0,
"size": 10,
"_source": ["name", "age"]

}

 

posted @ 2019-01-21 00:30 toov5 阅读( ...) 评论( ...) 编辑 收藏
ElasticSearch入门 ES是一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控,ES易于扩展可以扩展到上百台服务器PB(1PB=1024TB 1TB=1024GB)级别的数据,ES自身携带分布式协调管理功能,但仅支持json文件格式。 阅读详情

相关推荐

理解正排和倒排索引

1. 写在前面 在推荐领域,我们往往也会听到建立什么倒排索引,方便查找啥的, 之前一直对这一块感觉很迷糊, 到底啥子叫倒排索引,啥子又叫正排索引, 建立倒排索引的意义在哪? 所以这篇文章, 简单的通过查阅资料对这两个概念理解下。 下面是我基于查的资料自己给出的理解哈,可能不一定对。 正排和倒排索引,是文件检索系统领域比较重要的两种数据结构,而我理解,其实是两种为了高效查询而存在的两种不同的组织形式, 建立的是文档与单词之间的映射关系。 正排索引: 文档->关键词之间的映射,也就是我们输入文档编号,

Miracle8070 5605

ES高频面试问题:一张图带你读懂 Elasticsearch 中“正排索引(正向索引)”和“倒排索引(反向索引)”区别

文章目录1、正排索引和倒排索引1.1 正排索引1.2 倒排&正排2、一张图看懂正排&倒排2.1 图解2.2 区别3、一个通俗易懂的比喻4、正排索引的数据结构4.1 doc values4.2 fielddata:5、总结 1、正排索引和倒排索引 1.1 正排索引 从广义来说,doc values 本质上是一个序列化的 列式存储 。列式存储 适用于聚合、排序、脚本等操作,所有的数字、地理坐标、日期、IP 和不分词( not_analyzed )字符类型都会默认开启,不支持text和annota

Elastic开源社区 5357

CVPR 2027 投稿规划:基于近3年录用率与截稿周期的5步时间管理法

本文为计算机视觉研究者提供CVPR 2027投稿的完整规划指南,基于近三年录用率与截稿周期数据,提出五步时间管理法。涵盖选题策略、实验设计、论文写作、同行评审到最终提交的全流程优化,特别针对CVPR日益激烈的竞争环境(2024年投稿量达11532篇,录取率仅23.6%)提供实用解决方案,帮助研究者提升投稿成功率。

weixin_34079177的博客 1157

正排索引和倒排索引理解详解

正排索引和倒排索引理解详解 一、正排索引 二、 倒排索引 三、为什么搜索引擎选用倒排索引? 四、倒排索引优点 五、小结 叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!

小啊呜的博客 6871

手把手教你用Matlab解析Zygo .dat文件:从二进制数据到面形图(附完整流程)

本文详细介绍了如何使用Matlab解析Zygo干涉仪生成的.dat文件,从二进制数据读取到面形图可视化的完整流程。通过实例代码演示了文件结构解析、数据矩阵读取、高阶Zernike拟合等关键技术,帮助工程师和研究人员高效处理光学检测数据,提升分析精度和工作效率。

weixin_30731305的博客 449

避坑指南:Cursor AI生成Flutter代码时最容易翻车的5个配置细节

本文深入剖析了使用Cursor AI生成Flutter代码时,因.cursorrules配置文件不当而导致的五大常见问题。重点探讨了如何通过制定清晰、具体的规则,避免状态管理混乱、设计图输入低效、项目架构脱节、性能隐患及规则维护缺失等陷阱,从而将AI转化为高效、可靠的开发伙伴,提升代码质量和团队协作效率。

wdx0123456的博客 415

正排索引和倒排索引的区别

以图书馆为例,正排索引就像是按照书籍的编号顺序排列的书架,我们可以根据编号找到对应的书籍。而倒排索引则像是根据书籍的主题进行分类的目录,我们可以通过主题快速找到相关的书籍。它可以根据用户输入的关键词,快速找到相关的文档。3. 适用场景不同:正排索引适用于一些特定的查询需求,倒排索引在搜索引擎等场景中应用广泛。1. 数据结构不同:正排索引是按照文档的顺序存储索引,而倒排索引是根据关键词来存储索引。2. 查询方式不同:正排索引适合按文档顺序进行查询,倒排索引则更适合通过关键词进行查询。

u011532237的博客 2320

SPSS篇—卡方检验

今天依旧跟大家分享一个在SPSS中使用率比较高的分析方法:卡方检验。 在开始做分析之前,我们需要明白两件事情:卡方检验是什么?一般用来干什么?我们只有充分了解分析方法以后才能够正确的使用它。 卡方检验在百科中的解释是:卡方检验是用途非常广的一种假设检验方法,它在分类资料统计推断中的应用,包括:两个率或两个构成比比较的卡方检验;多个率或多个构成比比较的卡方检验以及分类资料的相关分析等。它的原理是...

小白数据营的博客 20万+

【ElasticSearch 大白话笔记】01. 倒排索引和正排索引的相关知识

背景中的索引,其实就是倒排索引,它与传统索引,也就是正排索引的区别是,正排索引的key是idvalue是对应的某个或者某些字段值 (详情可以参考下基于B-Tree的MySQL下的索引) ,而倒排索引正好相反,为某个字段建倒排索引后 (mapping.properties.字段.index = true) , 索引的key就是对应字段的value中的分词, 然后指向一个doc_id的链表。

Y_C_S_M的博客 384

SU-03T1语音模组固件烧录与配置全指南

本文提供SU-03T1离线语音模组固件烧录与配置的完整指南。详细介绍了从硬件连接、软件环境搭建,到在智能公元平台定制唤醒词、命令词及引脚配置,最后使用专用工具完成固件烧录的全流程。重点解析了烧录过程中的关键步骤与常见问题解决方法,帮助开发者快速实现智能语音控制功能。

weixin_29159613的博客 468

Realtek 10GbE芯片组解析:低成本高速网络方案

10GbE(万兆以太网)技术通过提升网络带宽,显著改善了数据传输效率,成为现代网络架构的核心组件。其工作原理基于高速串行通信协议,通过优化信号处理和编码技术实现低延迟、高吞吐量。在技术价值上,10GbE不仅满足数据中心和企业网络的高需求,还逐步渗透到消费级市场,推动家庭和小型企业的网络升级。应用场景包括NAS存储、视频编辑工作站和云服务接入等。Realtek最新发布的RTL8127、RTL8159和RTL8261C芯片组,以低功耗和低成本优势,进一步降低了10GbE的普及门槛。这些芯片支持PCIe Gen4

weixin_36427956的博客 587

全文搜索引擎Elasticsearch6.x 入门

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

Ghost_02的博客 1万+

redhawk如何看高toggle rate instance

1.图形界面View-Power Map - Toggle Map of Instances。redhawk通过报告和图形界面两种方式查看高toggle rate的instance。2.看warning log,在adsRpt/Warn里,搜toggle rate。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 617

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

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

weixin_48133130的博客 747

1、机器学习在环境科学中的应用与经典数据分析基础

本文介绍了机器学习在环境科学中的广泛应用,包括卫星遥感、气候预测、空气质量预报等领域,并系统回顾了经典数据分析的基本概念,如期望、方差、协方差和相关性及其显著性检验。同时,文章阐述了贝叶斯定理、判别函数与分类、聚类分析等方法的原理与应用,强调了经典统计方法与机器学习技术的互补关系。最后展望了未来环境科学中数据分析的发展方向,强调多学科融合与方法创新的重要性。

stone的博客 144

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

2501_90975132的博客 1183

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

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

Elasticsearch搜索引擎入门到进阶

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

emilio15979289的博客 415

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Elasticsearch搜索引擎入门

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

2501_92487717的博客 434

Elasticsearch - 基础入门篇

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

Apollo 1347

ElasticSearch(ES) 搜索入门笔记

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

beingstrong的博客 1699

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

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

TOMORROW6COME的博客 2051

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搜索引擎入门教程

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

pPgCGmuIvd的博客 382

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

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

Leaton的博客 1273
上一篇: SpringBoot2.0之整合ElasticSearch
下一篇: 中文分词器
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值