玩玩儿Elasticsearch

如何提高数十亿级别数据量的查询效率?es 的搜索引擎大数据实战分析 如何提高数十亿级别数据量的查询效率?es 的搜索引擎大数据实战分析   面试题 es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊? 面试官心理分析 这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了。第一次搜索的时候... 阅读详情

Elasticsearch基于Luence,是一个受到广泛使用的收索引擎。像Github、Wikipedia这样的大型网站都在使用Elasticsearch用作其站内搜索。

怀着好奇心,自己就装了装Elasticsearch来玩玩儿。


下载安装Elasticsearch

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_installing_elasticsearch.html

当Server启动以后,可以使用如下的命令查看Server是否正常运行:

curl 'http://localhost:9200/?pretty'
如果正常,将会看到这样的结果:

{
   
"status": 200,
   
"name": "Shrunken Bones",
   
"version": {
     
"number": "1.1.0",
     
"lucene_version": "4.7"
   
},
   
"tagline": "You Know, for Search"
}


Indexing

在Elasticsearch中,文档(document)有其归属的类型(type),而类型又归属于索引(index)

一个简单的传统型关系数据库与elasticsearch的大致对应关系如下:

Relational DB  | Databases |Tables|Rows         |Columns
Elasticsearch  | Indices       |Types |Documents|Fields

Elasticsearch使用的是RESTFul API。如果将一个文档进行索引,其实意思大概可以理解为将一个文档插入到elasticsearch中去。如:

PUT /megacorp/employee/1
{
   
"first_name" : "John",
   
"last_name" :  "Smith",
   
"age" :        25,
   
"about" :      "I love to go rock climbing",
   
"interests": [ "sports", "music" ]
}
其中,megacorp指的是index名称,employee是类型名称,1指的是这个document的id。

查询
当我们将信息index到Elasticsearch以后,我们就可以进行查询了。
比如我们想要查找megacorp中employee得last_name为Smith的时候,使用如下命令就可以
GET /megacorp/employee/_search?q=last_name:Smith
返回结果大致如下:
{
   
...
   
"hits": {
     
"total":      2,
     
"max_score":  0.30685282,
     
"hits": [
         
{
           
...
           
"_source": {
               
"first_name":  "John",
               
"last_name":   "Smith",
               
"age":         25,
               
"about":       "I love to go rock climbing",
               
"interests": [ "sports", "music" ]
           
}
         
},
         
{
           
...
           
"_source": {
               
"first_name":  "Jane",
               
"last_name":   "Smith",
               
"age":         32,
               
"about":       "I like to collect rock albums",
               
"interests": [ "music" ]
           
}
         
}
     
]
   
}
}
Elasticsearch还支持文本搜索和语义搜索,这里就不赘述了。


更多的查询相关信息可以参考:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_search_lite.html

参考资料

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/getting-started.html

从零构建:如何用MATLAB和SDR硬件搭建你的第一个OFDM卫星通信原型系统 本文详细介绍了如何利用MATLAB和SDR硬件从零构建OFDM卫星通信原型系统。通过核心组件选型、开发环境配置、OFDM算法实现到系统集成与优化的完整流程,帮助通信工程学生和DIY爱好者快速掌握软件无线电技术在卫星通信中的应用。特别推荐使用HackRF One和MATLAB工具箱实现高性价比的OFDM系统验证。 阅读详情

相关推荐

Python自动化测试全套教程-第一天(python、pycharm开发环境的安装与配置(图文超级详细);附安装包)

本文介绍了Python开发环境的完整安装配置流程。主要内容包括:1) Python解释器的下载安装与版本检测方法;2) PyCharm IDE的下载安装步骤,包括专业版和社区版的选择;3) PyCharm的基础配置和项目创建方法;4) 开发环境的基本构造说明。文章提供了两种获取安装包的方式(官网下载和文章附件),并详细说明了解释器卸载、安装过程中的注意事项,以及如何验证环境配置成功。特别强调了PyCharm安装时的路径选择和虚拟环境的创建方法,为Python初学者提供了完整的开发环境搭建指南。

kiwi_king的博客 2035

Elasticsearch:使用 Transformers 和 Elasticsearch 进行语义搜索

语义/向量搜索是一种强大的技术,可以大大提高搜索结果的准确性和相关性。与传统的基于关键字的搜索方法不同,语义搜索使用单词的含义和上下文来理解查询背后的意图并提供更准确的结果。Elasticsearch 是实现语义搜索最流行的工具之一,它是一种高度可扩展且功能强大的搜索引擎,可用于索引和搜索大量数据。在本文中,我们将探讨语义搜索的基础知识以及如何使用 Elasticsearch 实现它。到本文结束时,你将深入了解语义搜索的工作原理以及在你自己的项目中实现它的实用技能。

Elastic 中国社区官方博客 4011

Aras Innovator系统配置-01对象类(一)

对象类配置-对象类属性说明

企业信息化(PLM,ERP.MES) 2032

Elasticsearch:使用 Elasticsearch 进行语义搜索

语义搜索是在互联网上搜索内容的高级方式。它不仅仅是匹配单词,而是理解你真正在寻找的内容。它能找出你的话背后的含义以及它们之间的关系。这项技术使用人工智能和理解人类语言等技术。几乎就像它在说人类一样!它着眼于大局,检查具有相似含义的单词以及与你所问问题相关的其他想法。基本上,语义搜索可以帮助你从互联网上的大量内容中准确获取所需的内容。这就像与一个超级聪明的搜索引擎交谈,它不仅可以获取你所说的单词,还可以获取你真正想要查找的内容。这使得它非常适合做研究、查找信息,甚至获得符合你兴趣的建议。

Elastic 中国社区官方博客 1834

Colmap中 patchmatch源码

惊世骇俗的Colmap PatchMatch源码 500多行,简明易懂 先了解PatchMatch的options: max_image_size: 任一维度的最大图像尺寸 gpu_index: gpu的下标 depth_min,depth_max: 随机采样的深度范围 window_radius:用于计算NCC(两图片的归一化互相关),NCC的计算需要用到 win_size. 图像匹配 | NCC 归一化互相关损失 | 代码 + 讲解 - 知乎 (zhihu.com) window_step: 用.

qq_24884193的博客 2209

Hi3516CV610 YOLOv8模型转换与部署实战:从源码到板端推理全流程解析

本文详细解析了Hi3516CV610开发板上YOLOv8模型的转换与部署全流程,包括模型转换、量化、编译和部署等关键步骤。通过实战案例和避坑指南,帮助开发者高效实现从PyTorch模型到嵌入式设备的推理优化,适用于智能门禁、视频分析等实时场景。

weixin_30790841的博客 652

Elasticsearch:使用 ELSER 进行语义搜索 - sparse_vector

Elastic Learned Sparse EncodeR(或 ELSER)是由 Elastic 训练的 NLP 模型,可让你使用稀疏向量表示执行语义搜索。语义搜索不是根据搜索词进行文字匹配,而是根据搜索查询的意图和上下文含义检索结果。本教程中的说明向你展示了如何使用 ELSER 对数据执行语义搜索。:有关在 Elastic Stack 中执行语义搜索的最简单方法,请参阅端到端教程。:使用 ELSER 进行语义搜索时,每个字段仅考虑前 512 个提取的标记。请参阅了解更多信息。

Elastic 中国社区官方博客 2846

CVPR2023新作HAT实战:5分钟搞定图像超分辨率重建(附代码)

本文介绍了CVPR2023新作HAT模型在图像超分辨率重建中的实战应用。HAT通过创新的混合注意力机制,显著提升了图像重建质量,能激活更多有效像素并减少伪影。文章提供了从环境配置到模型部署的完整指南,帮助开发者在5分钟内快速实现图像超分辨率重建,并附有代码示例和性能优化技巧。

weixin_29062613的博客 237

Elasticsearch中的语义检索

语义搜索是一种解读单词和短语含义的搜索引擎技术。语义搜索的结果将返回与查询含义相匹配的内容,而不是与查询字面意思相匹配的内容。语义搜索是一系列的搜索引擎功能,包括从搜索者的意图及其搜索上下文中理解单词。这种类型的搜索旨在根据上下文更准确地解读自然语言来提高搜索结果的质量。语义搜索借助和人工智能等技术,将搜索意图与语义相匹配,从而实现这一目标。

Angus 1701

SSH 远程登录报错:kex_exchange_identification: Connection closed.....

不知道为啥会出现这样的情形,最近这段时间登录都是正常的,不知道哪里抽风了,就提示这个。错误信息 kex_exchange_identification: Connection closed by remote host 出现在尝试使用 SSH 连接到远程服务器过程中,表明在密钥交换阶段的一开始,远程主机就关闭了连接。服务器的sshd_config文件中配置错误,可能是不允许的加密算法、修订文件中的语法错误,或者未正确指定用于SSH的HostKey。如果当前已有太多活动连接,新的连接尝试可能会被拒绝。

飞越蓝天的专栏 8296

大模型对齐的核心引擎:RLHF三阶段完整技术体系详解——从InstructGPT到ChatGPT与Claude 4.6的工程实践

RLHF从InstructGPT起步,经由ChatGPT、Claude系列的工程实践,已演变为现代大语言模型不可或缺的对齐基础设施。其三阶段流程——SFT构建基础能力基线,奖励模型将人类偏好编码为可微信号,PPO以KL约束驱动策略向偏好分布优化——构成了当代对齐技术的核心骨架。OpenAI的路线侧重于以海量人工标注和多目标奖励建模持续精细化RLHF流程,在规模与工程深度上持续推进;

nmdbbzcl的博客 1059

将语义搜索添加到 Elasticsearch

将语义搜索添加到 Elasticsearch 本教程系列将涵盖txtai的主要用例,这是一个 AI 驱动的语义搜索平台。该系列的每章都有相关代码,可也可以在colab 中使用。 colab 地址 在本文中,我们将采用第 2 部分中使用的相同 Hugging Face Dataset,在 Elasticsearch 中对其进行索引,并使用来自 txtai 的语义相似度函数对搜索结果进行排名。 安装依赖 安装txtai,datasets和Elasticsearch. # Install txtai, datas

发呆的比目鱼的博客 2428

PCL点云库入门(第6讲)——PCL库中Eigen数学工具库的基本使用(持续更新)

Eigen库是一个高性能的C++模板库,专注于线性代数、矩阵和向量运算,以及相关的数值分析和算法。在Eigen库中,所有的矩阵和向量均被视为矩阵模板类的实例。向量可以被看作是特殊形式的矩阵,具体表现为只包含1行或1列。

qq_36812406的博客 1752

ElasticSearch三:ES如何优化查询的性能

es在数据量很大的情况下(数十亿级别)如何提高查询效率啊? 问这个问题,是肯定的,说白了,就是看你有没有实际干过es,因为啥?es说白了其实性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下5秒~10秒,坑爹了。第一次搜索的时候,是5~10秒,后面反而就快了,可能就几百毫秒。(LRU) 你就很懵,每个用户第一次访问都会比较...

qq_41864967的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

ElasticSearch面试 - es 在数据量很大的情况下如何提高查询效率啊?

ElasticSearch面试 - es 在数据量很大的情况下如何提高查询效率啊? 面试题 es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊? 面试官心理分析 这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下5~10s,坑爹了...

YunWisdom 5544

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

查询亿级数据毫秒级返回!ElasticSearch是如何做到的,为什么那么快?

一道面试题的引入: 如果面试的时候碰到这样一个面试题:ElasticSearch(以下简称ES) 在数据量很大的情况下(数十亿级别)如何提高查询效率? 这个问题说白了,就是看你有没有实际用过 ES,因为啥?其实 ES 性能并没有你想象中那么好的。 很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了。 第一次搜索的时候,是 5~10s,...

qq_41864967的博客 2169

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Elasticsearch亿万级别查询

这个问题说白了,就是看你有没有实际用过 ES,因为啥?其实 ES 性能并没有你想象中那么好的。 很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了。 第一次搜索的时候,是 5~10s,后面反而就快了,可能就几百毫秒。 你就很懵,每个用户第一次访问都会比较慢,比较卡么?所以你要是没玩儿过 ES,或者就是自己玩玩儿 Demo,被问到这个问题容易懵逼,显示出你对 ES 确实玩的不怎么样? 说实话,ES 性能优化是没有银弹的。啥意思呢?就是不要期待着随手调一个参数

weixin_43765973的博客 1011

Elasticsearch如何做到亿级数据查询毫秒级返回的?

这个问题说白了,就是看你有没有实际用过 ES,因为啥?其实 ES 性能并没有你想象中那么好的。 很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了。 第一次搜索的时候,是 5~10s,后面反而就快了,可能就几百毫秒。 你就很懵,每个用户第一次访问都会比较慢,比较卡么?所以你要是没玩儿过 ES,或者就是自己玩玩儿 Demo,被问到这个问题容易懵逼,显示出你对 ES 确实玩的不怎么样? 说实话,ES 性能优化是没有银弹的。啥意思呢?就是不要期待着随手调

八荒六合唯我独尊 427

ElasticSearch优化

一、垂直拆分 1、根据业务不同拆分成多个es集群:比如日志集群、binglog集群、业务数据集群等 2、根据系统等级不同拆分不同配置的es集群 3、统一封装数据平台层,数据插入和查询使用统一的封装平台,避免过多系统连接es集群,同时避免写入量过大拖垮集群 4、冷热数据分离 5、数据统一从kafka进入,避免进入量较大,消费方瓶颈 二、查询优化 这个问题说白了,就是看你有没...

幽默工作室 309

Elasticsearch如何做到亿级数据查询毫秒级返回?

如果面试的时候碰到这样一个面试题:ES 在数据量很大的情况下(数十亿级别)如何提高查询效率?这个问题说白了,就是看你有没有实际用过 ES,因为啥?其实 ES 性能并没有你...

架构文摘 892

十亿级别数据量的es查询优化

面试题 es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊? 面试官心理分析 这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下5~10s,坑爹了。第一次搜索的时候,是5~10s,后面反而就快了,可能就几百毫秒。 你就很懵,每个用户第一次访问都会...

guoliduo的博客 972

Elasticsearch 的亿级数据毫秒级查询优化思路

很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了。第一次搜索的时候,是 5~10s,后面反而就快了,可能就几百毫秒。你就很懵,每个用...

qianshanding0708的博客 406

elasticsearch(es)- 在数据量很大的情况下(数十亿级别)提高查询效率

这里有个真实的案例。然后这样的话,你大量的时间是在访问热数据 index,热数据可能就占总数据量的 10%,此时数据量很少,几乎全都保留在 filesystem cache 里面了,就可以确保热数据的访问性能是很高的。根据我们自己的生产环境实践经验,最佳的情况下,是仅仅在 es 中就存少量的数据,就是你要用来搜索的那些索引,如果内存留给 filesystem cache 的是 100G,那么你就将索引数据控制在 100G 以内,这样的话,你的数据几乎全部走内存来搜索,性能非常之高,一般可以在 1 秒以内。

An0407的博客 4258

Elasticsearch | Elasticsearch如何做到亿级数据查询毫秒级返回?

如果面试的时候碰到这样一个面试题:ES 在数据量很大的情况下(数十亿级别)如何提高查询效率? 这个问题说白了,就是看你有没有实际用过 ES,因为啥?其实 ES 性能并没有你想象中那么好的。 很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了。 第一次搜索的时候,是 5~10s,后面反而就快了,可能就几百毫秒。 你就很懵,每个用户第一次访问都会比较...

伍六七的博客 755

ES企业级优化方案-ElasticSearch在数十亿级别数据下,如何提高查询效率?面试剖析

面试题 es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊? 面试官心理分析 这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 510s,坑爹了。第一次搜索的时候,是510s,后面反而就快了,可能就几百毫秒。 你就很懵,每个用户第一次访问都会比较慢,比较卡么?所以你要是没玩儿过es,或者就是自己玩玩儿 demo,被问到这个问题容易懵逼,显示出你对 es 确实

是故事啊~关注我~ 487

面试题: 如何提高大数据量下ES的查询效率?

面试题es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊?面试官心理分析这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有...

IT技术精选文摘 1629
上一篇: Java线程基础(四):ThreadGroup、Volatility
下一篇: 《Head First HTML & CSS》读书笔记
kiwi小白
博客等级 码龄14年 153粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值