Easticsearch官网《Elasticsearch权威指南》笔记3——搜索

ElasticSearch特点|B+Tree|lucene倒排索引结构|lucene与elasticsearch的关系|基本概念 ElasticSearch特点 1. 天然分片,天然集群: es 把数据分成多个shard,下图中的P0-P2,多个shard可以组成一份完整的数据,这些shard可以分布在集群中的各个机器节点中。随着数据的不断增加,集群可以增加多个分片,把多个分片放到多个机子上,已达到负载均衡,横向扩展。 这种集群分片的机制造就了elasticsearch强大的数据容量及运算扩展性。 在实际运算过程中,每个查询任务提交到某一个节点,该节点必须负责将数据进行整理汇聚,再返回给客户端,也就是一个简单的节点上进行Map计算, 阅读详情

使用DSL查询

除了使用查询字符串查询,ES还可以使用DSL领域特定语言构造查询,使用JSON格式。

GET /megacorp/employee/_search
{
    "query" : {
        "match" : {
            "last_name" : "Smith"
        }
    }
}

查询字符串被一个JSON代替,并使用了match查询(属于查询类型之一)。

更复杂的查询

再增加一个条件,要求年龄大于30

GET /megacorp/employee/_search
{
    "query" : {
        "bool": {
            "must": {
                "match" : {
                    "last_name" : "smith" 
                }
            },
            "filter": {
                "range" : {
                    "age" : { "gt" : 30 } 
                }
            }
        }
    }
}

结果

{
   ...
   "hits": {
      "total":      2,
      "max_score":  0.16273327,
      "hits": [
         {
            ...
            "_score":         0.16273327, 
            "_source": {
               "first_name":  "John",
               "last_name":   "Smith",
               "age":         25,
               "about":       "I love to go rock climbing",
               "interests": [ "sports", "music" ]
            }
         },
         {
            ...
            "_score":         0.016878016, 
            "_source": {
               "first_name":  "Jane",
               "last_name":   "Smith",
               "age":         32,
               "about":       "I like to collect rock albums",
               "interests": [ "music" ]
            }
         }
      ]
   }
}

Elasticsearch 默认按照相关性得分(_score属性)排序,即每个文档跟查询的匹配程度。
默认不是精确搜索,而是相关性搜索

精确短语搜索

为此对 match 查询稍作调整,使用一个叫做 match_phrase 的查询:

GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    }
}

搜索结果高亮

在查询前增加一个新的highlight参数

GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    },
    "highlight": {
        "fields" : {
            "about" : {}
        }
    }
}
Elasticsearch权威指南 作者:禅与计算机程序设计艺术 1.简介 Elasticsearch是一个基于Lucene构建的开源搜索引擎,它提供了一个分布式、高扩展性、可靠、快速、精准的全文检索解决方案。它的主要特点包括: 分布式架构:集群中每一个节点都存储数据并且可以同时被索引和搜索; 阅读详情

相关推荐

Elasticsearch 权威指南

Elasticsearch是一个开源分布式搜索引擎,它的目的是提供一个搜索引擎系统,能够实时地、高效地存储、搜索、分析海量数据。分布式特性:Elasticsearch可以横向扩展,支持PB级海量数据的存储和查询;近实时特性:Elasticsearch支持秒级、毫秒级的实时数据分析;搜索速度快:Elasticsearch采用倒排索引结构,支持快速全文检索;复杂查询支持:Elasticsearch支持丰富的查询语言,包括全文检索、结构化查询、过滤、排序等。

AI天才研究院 2346

ES elasticserch window 安装下载

ES elasticserch 极速入门教程 + 重要知识点记录(1)

YDOOK 596

Elasticsearch权威指南中文完整版

本文还有配套的精品资源,点击获取 简介:《Elasticsearch权威指南中文版》是一本详尽介绍Elasticsearch技术的书籍,涵盖了该分布式搜索和分析引擎的核心概念和功能。本书深入探讨了Elasticsearch如何处理全文搜索、实现分布式架构、提供RESTful API、进行实时分析和弹性伸缩,以及其丰富的聚合功能、多租户支持、插件生态、安全性和监控运维等关键特...

weixin_29323977的博客 1971

Elastic Search简介及安装(windows,附:ELK安装)

ES是一个开源的的,它可以近乎、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。es也使用java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的来隐藏Lucene的复杂性,从而让全文搜索变得简单。

qq_17153885的博客 6486

Ruoyi-Cloud集成Seata2.0实现分布式事务

在网络上,关于Spring Cloud和Ruoyi-Cloud整合Seata的教程有很多,针对不同版本的 Seata 也有不少相关教程。事实上,无论是 Spring Cloud 还是 Ruoyi-Cloud,其整合 Seata 的原理基本相同。这篇博文将详细介绍如何在本地开发环境下,在中实现Seata 2.0的整合,希望能为大家在分布式项目中实现 Seata 的整合提供实用的帮助,提供一个清晰的操作思路。

SR003的博客 2246

“傻瓜”stata入门——熟悉操作界面

小白开始学习stata和matlab,零基础上手

nnpersistent的博客 4456

Elasticsearch

Lucene是Apache软件基金会Jakarta项目组的一个子项目,提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java开发环境里Lucene是一个成熟的免费开源工具。就其本身而言,Lucene是当前以及最近几年最受欢迎的免费Java信息检索程序库。但Lucene只是一个提供全文搜索功能类库的核心工具包,而真正使用它还需要一个完善的服务框架搭建起来进行应用。Elasticsearch和Solr,这两款都是基于Lucene搭建的,可以独立部署启动的搜索引擎服务软件。

qq_62079814的博客 3950

cellranger安装以及使用

接受cellranger count的输出数据,将同一组的不同测序样本的表达矩阵整合在一起,比如tumor组原来有4个样本,PBMC组有两个样本,现在可以使用aggr生成最后的tumor和PBMC两个矩阵,并且进行标准化去掉测序深度的影响。但是由于病毒基因组太小了,且注释结果只有CDS没有exon,所以曲线救国,将CDS整体替换为exon,也不进行过滤了,直接下一步。虽然安装完毕,但是现在要运行cellranger的话需要在终端输入cellranger的整个路径。自动执行这个命令,需要将“

m0_59974475的博客 9394

elastsearch-安装上手

下载 地址:https://www.elastic.co/cn/downloads/elasticsearch 本地启动 解压下载的es安装包 打开终端,进入elasticsearch文件夹,执行bin/elasticsearch 打开浏览器访问:localhost:9200, 可以看到es已正常启动 本地启动es多节点 终端中执行下面命令: bin/elasticsearch -E node.name=node0 -E cluster.name=geektime -E path.data=node0_

langsiming的博客 399

电力电子技术复习笔记

通常在开关过程前后加入谐振,使开关开通前电压先降到0,关断前电流先降到0,消除开关过程电压、电流的重叠,降低它们的变化率,从而大大减小甚至消除开关损耗。小信号线性化模型的原理:忽略开关频率分量和开关频率谐波分量及其边频分量,建立占空比、输入电压等的低频扰动对变换器中的电压、电流影响的模型。解:可以利用变压器的变比改变输出电压大小,避免控制过程的占空比过小或过大,提高控制精度,同时有利于减轻输出电路中电力电子器件的耐压要求。驱动电路:用于控制功率半导体器件的开关,从而控制电路的电流和电压。

Miracle Fan的博客 1万+

企业微信消息推送API实战:5步搞定可信IP与域名配置(含Python代码示例)

本文详细解析了企业微信消息推送API实战中的关键配置步骤,特别是可信IP与可信域名的配置流程。通过5个清晰步骤,结合Python代码示例,指导开发者快速完成安全通信链路搭建,避免常见错误,确保消息推送服务稳定可靠。

qsc9012345的博客 996

每日一个技术官网推荐 Vol.12:Elasticsearch 官网

名称网址技术领域:搜索引擎 / 大数据 / 全文检索 / 实时分析一句话简介:Elasticsearch 是一个高性能、可扩展的分布式搜索与分析引擎,可用于处理 PB 级数据并实现毫秒级响应。Elasticsearch 是搜索与分析领域的多面手,官网内容专业、引导清晰,非常适合开发者和企业用户系统性掌握搜索技术栈。

工一木子 2585

Python异步协程爬虫优化:解决aiohttp中ServerDisconnectedError的高效策略

本文深入探讨了在Python异步协程爬虫中使用aiohttp时,如何高效解决常见的ServerDisconnectedError问题。核心策略包括全局复用ClientSession、精细配置TCPConnector连接池、实施请求重试与速率限制,从而构建稳定、高效的异步爬虫架构,有效避免服务器断开连接错误。

pz890123的博客 858

爬梯:ElasticSearch分布式搜索引擎

学习资料:狂神说 ElactisSearch 7.6.2 ElasticSearch 分布式搜索引擎 1. 概述 1.1 ELK ELK是ElasticSearch、Logstash、Kibana三大开源架构首字母大写简称,市面上也被称为Elastic Etack。 ElasticSearch是以RESTful方式进行近实时地搜索平台框架,提供存储和搜索; Logstash是ELK的中央数据流引擎,用于从不同目标(文件、数据存储、mq)收集不同格式的数据,经过过滤然后输出到不同的目的地(文件、m.

石似心的博客 939

AFSim插件开发实战:从环境搭建到功能扩展

本文详细介绍了AFSim插件开发的完整流程,从环境搭建到功能扩展,涵盖了SDK配置、插件创建、核心代码解析、功能扩展实战、调试优化以及高级开发技巧。通过实战案例和实用技巧,帮助开发者快速掌握AFSim插件开发,提升仿真系统的扩展性和灵活性。

weixin_29309475的博客 576

【报错解决】彻底解决 MySQL 登录报错 ERROR 1045 (28000)

MySQL 报错 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 通常是由于用户名或密码错误、权限不足、服务未启动或配置文件异常导致的。通过检查并确认密码、重置 root 用户密码、授予完整权限、校验配置文件以及确保 MySQL 服务正常运行,可以彻底解决该问题。掌握这一流程不仅能够恢复 root 登录,还能保障数据库的安全性与稳定性。

博客 1750

elasticsearch集群原理————学习笔记(三)

首先,es天生就是分布式的,用集群来均衡请求,多个结点协同工作,会大大的提升搜索速度。 es的每一个文档,文档中的每一个数据都是一个索引,所以当我们进行全文搜索,统计搜索的时候,es的速度,也能做一些智能分析。 什么是集群 虽然官网也有一些比较官方的定义,但是在我的理解,集群(cluster)=多个结点(node)的集合,而 ...

weixin_44712778的博客 1889

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Elasticsearch初步使用(安装、Head配置、分词器配置)

目录   返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 1.ElasticSearch简单说明   a.ElasticSearch是一个基于Lucene开发的搜索服务器,具有分布式多用户的能力,ElasticSearch是用Java开发的开源项目(Apache许可条款),基于Restful Web接口,能够达到实时搜索、稳定、可...

weixin_34023982的博客 239

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

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

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Elasticsearch详细介绍

大多数日常项目,搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的,存在很多问题。,查询效率较低。由于数据库模糊查询不走索引,在数据量较大的时候,查询性能很差。改为基于搜索引擎后速度会有显著提升。需要注意的是,数据库模糊查询随着表数据量的增多,查询性能的下降会非常明显,而搜索引擎的性能则不会随着数据增多而下降太多。,功能单一数据库的模糊搜索功能单一,匹配条件非常苛刻,必须恰好包含用户搜索的关键字。

“种一棵树最好的时间是十年前,其次就是现在。” 1552

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

ElasticSearch

ElasticSearch 一:ElasticSearch安装 Elasticsearch 是使用 java 开发的,且 7.8 版本的 ES 需要 JDK 版本 1.8 以上,安装前注意java环境的准备。 官网地址:https://www.elastic.co/cn/ 中文网址:https://elasticsearch.cn/download/ 下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 下载后解压即用,目

weixin_43624549的博客 1万+

elastic search 官网

elastic search 官网 https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html http://cwiki.apachecn.org/pages/viewpage.action?pageId=4883367 定位: 全文搜索分析引擎 快速(近实时)存储,查询,分析大量数据 应用场景 电...

github_28583061的博客 6961

Elasticsearch 入门

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

junxinsiwo的专栏 5034

elasticsearch官网

官网链接

阿文的博客 1万+

elasticsearch权威指南-中文

elasticsearch权威指南-中文Table of Contents1. Introduction 2. 入门 i. 是什么 ii. 安装 iii. API iv. 文档 v. 索引 vi. 搜索 vii. 聚合 viii. 小结 ix. 分布式 x. 结语 3. 分布式集群 i. 空集群 ii. 集群健康 iii. 添加索引 iv. 故障转移 v. 横向扩展 vi. 更多扩展 vii. 应...

vitaair的博客 4080

Springboot2.x集成ElasticSearch8.5.3(单节点)

本文是win11环境、JDK8; 一、ES8安装、启动 1、es8安装和配置 去官网下载es8.5.3,地址: https://www.elastic.co/cn/downloads/elasticsearch 2、下载完,解压即可 3、配置config下elasticsearch.yml文件:在文件最下面添加 # 换个集群的名字,免得跟别人的集群混在一起 cluster.name: my-es # 换个节点名字 node.name: el_node # 修改一下ES的监听地址,这样别的机器也可以访问

m0_48323642的博客 3475
上一篇: Easticsearch官网《Elasticsearch权威指南》笔记2——文档基本操作
下一篇: Easticsearch官网《Elasticsearch权威指南》笔记4——聚合
mighty13
博客等级 码龄23年 728粉丝 438原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值