elasticsearch

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: took:执行整个搜索请求耗费了多少毫秒。   /_search在所有的索引中搜索所有的类型/gb/_search在 gb 索引中搜索所有的类型/gb,us/_search在 gb 和 us 索引中搜索所有的文档/g*,u*/_search在任何以 g 或者 u 开头的索引中搜索所有的类型/gb...

took:执行整个搜索请求耗费了多少毫秒。

 

/_search
在所有的索引中搜索所有的类型
/gb/_search
在 gb 索引中搜索所有的类型
/gb,us/_search
在 gb 和 us 索引中搜索所有的文档
/g*,u*/_search
在任何以 g 或者 u 开头的索引中搜索所有的类型
/gb/user/_search
在 gb 索引中搜索 user 类型
/gb,us/user,tweet/_search
在 gb 和 us 索引中搜索 user 和 tweet 类型
/_all/user,tweet/_search
在所有的索引中搜索 user 和 tweet 类型

 

GET /_search?size=5
GET /_search?size=5&from=5
GET /_search?size=5&from=10

size
显示应该返回的结果数量,默认是 10
from
显示应该跳过的初始结果数量,默认是 0

理解为什么深度分页是有问题的,我们可以假设在一个有 5 个主分片的索引中搜索。 
当我们请求结果的第一页(结果从 110 ),每一个分片产生前 10 的结果,并且返回给 协调节点 ,
协调节点对 50 个结果排序得到全部结果的前 10 个。

现在假设我们请求第 1000 页--结果从 1000110010 。
所有都以相同的方式工作除了每个分片不得不产生前10010个结果以外。 
然后协调节点对全部 50050 个结果排序最后丢弃掉这些结果中的 50040 个结果。

可以看到,在分布式系统中,对结果排序的成本随分页的深度成指数上升。
这就是 web 搜索引擎对任何查询都不要返回超过 1000 个结果的原因。

 

term是代表完全匹配,不进行分词器分析,文档中必须包含整个搜索的词汇

{
    "query": {
        "term": {
            "area_code.keyword": "ALY"
        }
    }
}

bool联合查询:must、must_not

must: 文档必须完全匹配条件

must_not: 文档必须不匹配条件

{
    "query": {
        "bool": {
            "must": {
                "term": {
                    "area_code.keyword": "ALY"
                }
            },
            "must_not": [],
            "should": []
        }
    }
}

 

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
SQL NoSQL Linux
gRPC 基础编码使用手册
gRPC 基础编码使用手册
202 6
|
前端开发 程序员 调度
探索协程在 C++ 中的实现方式
探索协程在 C++ 中的实现方式
300 2
|
Kubernetes Nacos 开发者
Nacos 官网重大升级,提供官方发行版下载包,3.0 里程碑版本新特性预告
Nacos 官网重大升级,提供官方发行版下载包,3.0 里程碑版本新特性预告
1730 114
|
JSON 前端开发 Java
前端如何提交数据给后端(包含前端和后端代码)
前端如何提交数据给后端(包含前端和后端代码)
324 0
|
文字识别 Android开发 C++
Tesseract OCR集成Android Studio实现OCR识别
Tesseract OCR集成Android Studio实现OCR识别
652 0
|
XML 前端开发 API
分享好用便捷的 PHP 代码
21 段实用便捷的 PHP 代码
|
数据采集 搜索推荐 安全
谷歌收录新网站最快多久?
答案是:最快是24小时内。 对于新的网站所有者来说,Google搜索引擎的收录速度常常是一个令人关心的问题。 下面,我们将探讨谷歌收录新网站的可能时间,以及可以采取的策略来加速这一过程。
554 0
谷歌收录新网站最快多久?
|
算法
深度优先搜索(DFS)的基础理解与实现
深度优先搜索(DFS)的基础理解与实现
196 0
|
缓存 前端开发 JavaScript
|
JavaScript 前端开发 UED
使用 unplugin-vue-components 按需引入组件(内附实现原理)
使用 unplugin-vue-components 按需引入组件(内附实现原理)
1215 0