Elasticsearch Search APIs3

简介: Elasticsearch Search APIs3

 

参考链接:

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-script-fields.html

 

 

6. doc field

.

POST /customer/external/_search?

{

  "query": {

     "match_all": {}

  },

   "docvalue_fields" : ["account_number", "test2"]

}

 

返回结果部分截图

 

 

7. post filter

filteraggregation完成后才被执行。

 

PUT /shirts

{

   "mappings": {

       "item": {

           "properties": {

               "brand": { "type": "keyword"},

               "color": { "type": "keyword"},

               "model": { "type": "keyword"}

           }

       }

   }

}

 

PUT /shirts/item/1?refresh

{

   "brand": "gucci",

   "color": "red",

   "model": "slim"

}

 

.仅返回搜索结果中包含colorredbrandgucci的文档记录

POST /shirts/_search

{

  "query": {

     "bool": {

        "filter": [

           {

              "term": {

                 "color": "red"

              }

           },

           {

              "term": {

                 "brand": "gucci"

              }

           }

        ]

     }

  }

}

 

.仅返回搜索结果中包含colorredbrandguccishirt,按model分组,按分组统计数降序排序

POST /shirts/_search

{

  "query": {

     "bool": {

        "filter": [

           {

              "term": {

                 "color": "red"

              }

           },

           {

              "term": {

                 "brand": "gucci"

              }

           }

        ]

     }

  },

  "aggs": {

     "models": {

        "terms": {

           "field": "model"

        }

     }

  }

}

 

返回结果部分截图

 

 

.

.仅搜索brand值为guccishirt,按color分组,降序展示每种colorshirt数量,同时,针对colorredshirt商品,按model分组统计,降序展示每种model的数量

 

POST /shirts/_search

{

  "query": {

     "bool": {

        "filter": {

           "term": {

              "brand": "gucci"

           }

        }

     }

  },

  "aggs": {

     "group_by_colors": {

        "terms": {

           "field": "color"

        }

     },

     "color_red": {

        "filter": {

           "term": {

              "color": "red"

           }

        },

        "aggs": {

           "group_by_models": {

              "terms": {

                 "field": "model"

              }

           }

        }

     }

  },

  "post_filter": {

     "term": {

        "color": "red"

     }

  }

}

 

说明:   "post_filter",作用于最后,不展示color不为redshirt记录

 

返回结果部分截图

 

8. search_after

.如下,每页只显示5条记录,按leve_vale降序排序,如果leve_vale相同则按_uid降序排序

POST /fenxi/fenxishuj/_search?

{

  "query": {

     "match_all": {}

  },

  "sort": [

     {

        "leve_vale":"desc",

        "_uid": "desc"

     }

  ],

  "size":5

}

 

返回结果部分截图

 

 

这时,在不改变页size值的情况下,我们想查看下一页的记录,咋办?

 

方案:把sort中的参数值,按出现顺序,依次传递给search_after

POST /fenxi/fenxishuj/_search?

{

  "query": {

     "match_all": {}

  },

  "search_after":[31,"fenxishuj#9"],

  "sort": [

     {"leve_vale":"desc",

        "_uid": "desc"

     }

  ],

  "size":5

}

 

注意:

1sort中的参数值要和search_after一一对应(数量&顺序的对应)

2、使用了search_after的情况下,如果要使用from参数,参数值只能为0-1

 

参考资料:

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-search-after.html

 


 

更多资料参考:

https://www.elastic.co/guide/en/elasticsearch/reference/current/search.html

 

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
存储 SQL JSON
Elasticsearch Search API之搜索模板(search Template)
Elasticsearch Search API之搜索模板(search Template)
Elasticsearch Search API之搜索模板(search Template)
|
监控 API UED
Elasticsearch 异步搜索 Async search 实战
1、Elasticsearch 异步搜索定义 异步搜索 API 可异步执行搜索请求、监控其进度并检索可用的部分结果。 如下的官方介绍动画,能更加生动的介绍清楚异步检索。 传统检索 VS 异步检索,在数据量比较大时: 传统检索可能导致超时,以至于无数据返回;或者需要等待很久,用户体验差。 异步检索,可以快速响应数据,用户无需等待。
Elasticsearch 异步搜索 Async search 实战
|
测试技术 索引
Elasticsearch search after分页检索案例
Elasticsearch search after分页检索案例分享 The best elasticsearch highlevel java rest api-----bboss 1.准备工作 参考文档《高性能elasticsearch ORM开发库使用介绍》导入和配置es客户端 2.
6087 0
Elasticsearch Search APIs2
Elasticsearch Search APIs
228 0
   Elasticsearch Search APIs2
|
算法
白话Elasticsearch14-深度探秘搜索技术之基于multi_match 使用most_fields策略进行cross-fields search弊端
白话Elasticsearch14-深度探秘搜索技术之基于multi_match 使用most_fields策略进行cross-fields search弊端
207 0
|
关系型数据库 MySQL 测试技术
Elasticsearch Search APIs1
Elasticsearch Search APIs
229 0
|
存储 Java API
Elasticsearch Search API之(Request Body Search 查询主体)-下篇
Elasticsearch Search API之(Request Body Search 查询主体)-下篇
Elasticsearch Search API之(Request Body Search 查询主体)-下篇
|
存储 自然语言处理 算法
Elasticsearch Search API之(Request Body Search 查询主体)-上篇
Elasticsearch Search API之(Request Body Search 查询主体)-上篇
Elasticsearch Search API之(Request Body Search 查询主体)-上篇
|
缓存 算法 关系型数据库
Elasticsearch Search API 概述与URI Search
Elasticsearch Search API 概述与URI Search
Elasticsearch Search API 概述与URI Search
|
存储 安全 API

热门文章

最新文章