Elasticsearch Search APIs3

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 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

 

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
打赏
0
0
0
0
18
分享
相关文章
白话Elasticsearch14-深度探秘搜索技术之基于multi_match 使用most_fields策略进行cross-fields search弊端
白话Elasticsearch14-深度探秘搜索技术之基于multi_match 使用most_fields策略进行cross-fields search弊端
119 0
Elasticsearch Search APIs2
Elasticsearch Search APIs
90 0
   Elasticsearch Search APIs2
Elasticsearch搜索模板search tempalte
Elasticsearch搜索模板search tempalte
104 0
Elasticsearch Search API之(Request Body Search 查询主体)-下篇
Elasticsearch Search API之(Request Body Search 查询主体)-下篇
Elasticsearch Search API之(Request Body Search 查询主体)-下篇

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等