当前位置: 首页 > news >正文

Elasticsearch 8.1官网文档梳理 - 十三、Search your data(数据搜索)

Search your data

这里有两个比较有用的参数需要注意一下

  1. Search timeout:设置每个分片的搜索超时时间。从集群级别可以通过 search.default_search_timeout 来设置超时时间。如果在 search.default_search_timeout 设置的时间段内未完成搜索请求,就会取消该任务。search.default_search_timeout 的默认值为 -1 ,表示无超时时间限制。
GET /my-index-000001/_search
{"timeout": "2s","query": {"match": {"user.id": "kimchy"}}
}
  1. track_total_hits:设置搜索过程中匹配文档的数量。如果需要匹配所有文档,track_total_hits 设置为 true,如果需要匹配的文档为 1000 条,则 track_total_hits 设置为 1000。数据量大时 track_total_hits 设置为 true 会拖慢查询速度。
GET my-index-000001/_search
{"track_total_hits": true,"query": {"match" : {"user.id" : "elkbee"}}
}

注意:
这强调一下 Response 中的 tooktook 代表处理该请求所耗费的毫秒数。从节点收到查询后开始,到返回客户端之前,包括在线程池中等待、在集群中执行分布式搜索和收集、排序所有结果所花费的时间。

一、Collapse search results

没看懂有啥用呢。。。考完试再研究

二、Filter search results

  1. post_filterfilter 过滤会将符合条件的文档留下,之后进行 聚合,而 post_filter 是在聚合后过滤结果,不影响聚合结果。
# 创建索引,添加数据
PUT /shirts
{"mappings": {"properties": {"brand": { "type": "keyword"},"color": { "type": "keyword"},"model": { "type": "keyword"}}}
}POST /shirts/_bulk
{"index":{}}
{"brand": "gucci", "color": "red", "model": "slim"}
{"index":{}}
{"brand": "gucci", "color": "back", "model": "slim"}
{"index":{}}
{"brand": "gucci", "color": "back", "model": "large"}

直接使用 filter

GET /shirts/_search
{"query": {"bool": {"filter": [{ "term": { "color": "red"   }},{ "term": { "brand": "gucci" }}]}},"aggs": {"models": {"terms": { "field": "model" } }}
}

在这里插入图片描述
使用 post_filter

GET /shirts/_search
{"post_filter": {"bool": {"filter": [{ "term": { "color": "red"   }},{ "term": { "brand": "gucci" }}]}}, "aggs": {"models": {"terms": { "field": "model" } }}
}

在这里插入图片描述

  1. rescore:对每个分片的查询结果的前 window_size 个文档重新评分。
POST /_search
{"query" : {"match" : {"message" : {"operator" : "or","query" : "the quick brown"}}},"rescore" : {"window_size" : 50,"query" : {"rescore_query" : {"match_phrase" : {"message" : {"query" : "the quick brown","slop" : 2}}},"query_weight" : 0.7,"rescore_query_weight" : 1.2}}
}

三、Highlighting

从搜索结果中的一个或多个字段中获取高亮片段,并高亮显示,便于显示查询匹配的位置。
简单一点

GET my_index/_search
{"query": {"match": { "my_text": "GET" }},"highlight": {"fields": {"my_text": {"pre_tags" : ["<em>"], "post_tags" : ["</em>"]}}}
}

高亮显示可让您从搜索结果中的一个或多个字段中获取高亮片段,以便向用户显示查询匹配的位置。

四、Long-running searches

五、Near real-time search

六、Paginate search results

主要描述分页查询和深度查询,其中分页查询通过 fromsize 来控制,这里将不再赘述。深度查询这里主要通过 Point in time(时间点) 和 Scroll search(滚动查询)这两种方法来实现。文档中更推荐使用 Point in time 配合 search_after 来实现。

  1. Point in time 配合 search_after 实现深度分页查询
# 创建时间点
POST /my-index-000001/_pit?keep_alive=1m# Response
{"id" : "8_LoAwEXa2liYW5hX3NhbXBsZV9kYXRhX2xvZ3MWTThSb1hDMUpSZS1EWnBuSjNtWG1sZwAWUmotTmxzRENUbXVCdGw0YVQyUGJPZwAAAAAAAAAEmBZBYjhlejFTQ1MxaWZLS1VST05NZnhBAAEWTThSb1hDMUpSZS1EWnBuSjNtWG1sZwAA"
}# 利用 
GET /_search
{"size": 10,"query": {"term": {"tags.keyword": {"value": "success"}}},"pit": {"id":  "8_LoAwEXa2liYW5hX3NhbXBsZV9kYXRhX2xvZ3MWTThSb1hDMUpSZS1EWnBuSjNtWG1sZwAWeGZPTXRkbS1UX3lkd1ZsVzloVnlnZwAAAAAAAAAAfRZGSWlyWklWMlRsT05URnFocm9fakVBAAEWTThSb1hDMUpSZS1EWnBuSjNtWG1sZwAA", "keep_alive": "1m"},"sort": [ {"timestamp": {"order": "asc", "format": "strict_date_optional_time_nanos", "numeric_type" : "date_nanos" }}]
}
  1. Scroll search(滚动查询)实现深度分页查询
# 创建一个滚动查询
POST /kibana_sample_data_logs/_search?scroll=1m
{"size": 100,"slice": {"id": 0,"max": 2},"query": {"match": {"agent": "Mozilla"}}
}# Response
{"_scroll_id" : "FGluY2x1ZGVfY29udGV4dF91dWlkDXF1ZXJ5QW5kRmV0Y2gBFkFiOGV6MVNDUzFpZktLVVJPTk1meEEAAAAAAAAE6hZSai1ObHNEQ1RtdUJ0bDRhVDJQYk9n","took" : 5,"timed_out" : false...
}# 通过滚动查询实现深度分页查询
POST /_search/scroll                                                               
{"scroll" : "1m",                                                                 "scroll_id" : "FGluY2x1ZGVfY29udGV4dF91dWlkDXF1ZXJ5QW5kRmV0Y2gBFkFiOGV6MVNDUzFpZktLVVJPTk1meEEAAAAAAAAE6hZSai1ObHNEQ1RtdUJ0bDRhVDJQYk9n" 
}

七、Retrieve inner hits

八、Retrieve selected fields

九、Search across clusters

十、Search multiple data streams and indices

十一、Search shard routing

十二、Search templates

十三、Sort search results

对返回的结果排序。这里需要注意的是,_score_docsort 中的被排序的字段的优先级一样,按照在 sort 中的排列顺序来排序。_score 表示文档的相似度得分,_doc 表示 _doc 的写入顺序。

GET /my_index/_search
{"sort" : [{ "@timestamp" : {"order" : "asc", "format": "strict_date_optional_time_nanos"}},{ "my_other_field" : "desc" },{ "my_field": "desc" },"_score","_doc"]
}

也支持对 数组类型的字段进行排序,通过 mode 来选择数组中的值。

十四、kNN search

相关文章:

Elasticsearch 8.1官网文档梳理 - 十三、Search your data(数据搜索)

Search your data 这里有两个比较有用的参数需要注意一下 Search timeout&#xff1a;设置每个分片的搜索超时时间。从集群级别可以通过 search.default_search_timeout 来设置超时时间。如果在 search.default_search_timeout 设置的时间段内未完成搜索请求&#xff0c;就会…...

笔墨挥毫如游龙 最是经典铁线篆——记著名书法家王子彬

真正的书法大家,必是经历了日积月累的求索磨炼,毕竟书法从来都不是一蹴而就的艺术,因此但凡是急功近利者,其人也是远远无法达到书入臻境的创作高度。而纵观当代书坛界内,其中王子彬先生的艺术声誉可谓是广为人知,作为一名深具传统功底的实力派书法大家,王子彬先生的取法历途无疑…...

智慧校园有哪些特征

随着科技的飞速进步&#xff0c;教育领域正经历着一场深刻的变革。智慧校园&#xff0c;作为这场变革的前沿代表&#xff0c;正在逐步重塑我们的教育理念和实践方式。它不仅仅是一个概念&#xff0c;而是一个集成了物联网、大数据、人工智能等先进技术的综合生态系统&#xff0…...

day25回溯算法part02| 216.组合总和III 17.电话号码的字母组合

216.组合总和III 题目链接/文章讲解 | 视频讲解 class Solution { public:vector<vector<int>> result;vector<int> path;int sum;void backtracking(int n, int k, int startindex) {// int sum accumulate(path.begin(), path.end(), 0);if (sum n &am…...

AWS联网和内容分发服务

概况 VPC Amazon Virtual Private Cloud (Amazon VPC) 让您能够全面地控制自己的虚拟网络环境&#xff0c;包括资源放置、连接性和安全性。首先在 AWS 服务控制台中设置 VPC。然后&#xff0c;向其中添加资源&#xff0c;例如 Amazon Elastic Compute Cloud (EC2) 和 Amazon …...

vscode设置编辑器文件自动保存

步骤 1.打开vscode的设置 2.在搜索栏输入关键字“保存”&#xff1b; 在 Files: Auto Save 设置项&#xff0c;选择自动保存的模式...

SJ705C安全帽高温预处理箱

一、仪器用途 安全帽高温预处理箱是我公司根据安全帽新国家标准检测试验要求而自主设计研发制造。是安全帽检测前做高温预处理的专用设备。 二、仪器特征 1、有PID自整定温度控制仪&#xff0c;控制准确。 2、数显计时、计温器。 3、石英灯管加热系统;。 …...

AI盒子在智慧加油站的应用

方案背景 为规范加油站作业&#xff0c;保障人民生命财产安全&#xff0c;《加油站作业安全规范》&#xff08;AQ 3010-2007&#xff09;中第五条规定&#xff1a;卸油作业基本要求&#xff0c;明确防静电、防雷电、防火、人员值守、禁止其他车辆及非工作人员进入卸油区。 痛点…...

IC开发——VCS基本用法

1. 简介 VCS是编译型verilog仿真器&#xff0c;处理verilog的源码过程如下&#xff1a; VCS先将verilog/systemverilog文件转化为C文件&#xff0c;在linux下编译链接生成可执行文件&#xff0c;在linux下运行simv即可得到仿真结果。 VCS使用步骤&#xff0c;先编译verilog源…...

MongoDB~存储引擎了解

存储引擎 存储引擎是一个数据库的核心&#xff0c;主要负责内存、磁盘里数据的管理和维护。 MongoBD的优势&#xff0c;在于其数据模型定义的灵活性、以及可拓展性。但不要忽略&#xff0c;其存储引擎也是插件式的存在&#xff0c;支持不同类型的存储引擎&#xff0c;使用不同…...

JavaScript实现粒子数字倒计时效果附完整注释

<!DOCTYPE html> <html lang="en"><head><meta charset...

Dubbo SPI(Service Provider Interface)机制深度解析

Dubbo SPI&#xff08;Service Provider Interface&#xff09;机制是Apache Dubbo框架中一项核心的技术组件&#xff0c;它超越了传统Java SPI的范畴&#xff0c;为Dubbo带来了高度的可扩展性和灵活性。在分布式服务架构日益复杂多变的今天&#xff0c;Dubbo SPI机制通过巧妙的…...

常用中间件各版本下载

常用中间件下载地址 前言分布式中间件负载均衡中间件缓存中间件数据库中间件其他中间件1、Maven下载地址2、Git下载地址2、JDK下载地址3、MySQL下载地址4、Redis下载地址5、Nacos下载地址6、Tomcat下载地址7、Nginx下载地址8、RocketMQ下载地址8、RabbitMQ下载地址8、Erlang下载…...

VsCode SSH远程设置不用重复输入密码

winR输入cmd&#xff0c;回车&#xff0c;输入 C:\Users\Administrator> ssh-keygen -t rsa -b 4096 Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\Administrator/.ssh/id_rsa): Enter passphrase (empty for no passphrase): …...

【Linux】:进程切换

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关Linux进程切换的知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精…...

MongoDB CRUD操作:删除文档

MongoDB CRUD操作&#xff1a;删除文档 文章目录 MongoDB CRUD操作&#xff1a;删除文档删除集合的所有文档删除符合条件的所有文件删除第一个符合条件的文档## 在MongoDB Atlas中删除文档删除行为索引 原子性写确认 可以使用下面的方式删除MongoDB集合的文档&#xff1a; 使用…...

SpringBoot集成腾讯COS流程

1.pom.xml中添加cos配置 <!--腾讯cos --> <dependency><groupId>com.qcloud</groupId><artifactId>cos_api</artifactId><version>5.6.28</version> </dependency> 2.application.yaml中添加cos配置 # 腾讯云存储cos…...

中高级前端开发岗

定位&#xff1a; 日常迭代任务的核心研发&#xff0c;具备高质、高效完成迭代任务的能力。 素质要求&#xff1a; 业务专家或擅长某一方向技术&#xff1b;有较丰富的开发经验&#xff1b;需要具备良好的沟通和协作能力&#xff0c;能够与其他部门和团队进行有效的沟通和协…...

idea常用配置

文章目录 I 常见问题1.1 取消maven忽略文件清单1.2 源根之外的java文件1.3 idea取消所有断点1.4 idea使用非模式提交界面1.5 用Service窗口展示所有服务及端口1.6 idea编码问题(加载配置文件失败)II idea 换行后自动缩进4个空格,怎么取消?I 常见问题 1.1 取消maven忽略文件…...

Spring AOP 切面按照一定规则切片并行查询Mapper并返回

需求&#xff1a; 有时候我们在查询mapper层时&#xff0c;有时候可能由于入参数据过大或者查询的范围较大&#xff0c;导致查询性能较慢&#xff0c;此时 我们需要将原本的查询按照一定规则将查询范围进行切面&#xff0c;然后分片查询&#xff0c;最后将查询结果进行组装合并…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...