可以使用“collapse”参数根据字段值collapse搜索结果。collapse是通过每个collapse键仅选择排序靠前的文档来完成的。

例如,以下搜索按user.id折叠(collapse)结果,并按http.response.bytes对其进行排序。

GET my-index-000001/_search
{"query": {"match": {"message": "GET /search"}},"collapse": {"field": "user.id"         (1)},"sort": [{"http.response.bytes": { (2)"order": "desc"}}],"from": 0                    (3)
}

(1)使用user.id字段折叠(collapse)结果集

(2)按http.response.bytes对结果进行排序

(3)定义第一个collapse结果的偏移量

用于collapse的字段必须是单值关键字(keyword)或激活了doc_值的数字(numeric)字段。

展开折叠结果

也可以使用“inner_hits”选项展开每个折叠的顶部点击。

GET /my-index-000001/_search
{"query": {"match": {"message": "GET /search"}},"collapse": {"field": "user.id",                       (1)"inner_hits": {"name": "most_recent",                  (2)"size": 5,                              (3)"sort": [ { "@timestamp": "desc" } ]    (4)},"max_concurrent_group_searches": 4        (5)},"sort": [{"http.response.bytes": {"order": "desc"}}]
}

(1)使用user.id字段折叠结果集

(2)响应中用于内部命中部分的名称

(3)每个折叠关键点要检索的inner_hits命中数

(4)如何对每个组中的文档进行排序

(5)允许检索每个组的inner_hits命中的并发请求数

也可以为每个collapsed 请求多个inner_hits。当我们想要获得折叠点击的多个表示形式时,这非常有用。

GET /my-index-000001/_search
{"query": {"match": {"message": "GET /search"}},"collapse": {"field": "user.id",                   (1)"inner_hits": [{"name": "largest_responses",      (2)"size": 3,"sort": [{"http.response.bytes": {"order": "desc"}}]},{"name": "most_recent",             (3)"size": 3,"sort": [{"@timestamp": {"order": "desc"}}]}]},"sort": ["http.response.bytes"]
}

(1)使用user.id字段collapse结果集

(2)返回用户的三个最大HTTP响应

(3)返回用户最近的三个HTTP响应

Collapsing with search_after

字段collapsing可与search_after参数一起使用。只有在对同一字段进行排序和折叠(collapsing)时,才支持使用search_after。也不允许使用辅助排序。例如,我们可以在user.id上折叠和排序,同时使用search_after在以下内容之后对结果进行分页:

GET /my-index-000001/_search
{"query": {"match": {"message": "GET /search"}},"collapse": {"field": "user.id"},"sort": [ "user.id" ],"search_after": ["dd5ce1ad"]
}

Second level of collapsing

还支持第二级折叠,并将其应用于内部点击。

例如,以下搜索按geo.country_name折叠结果。在每个geo.country_name中,内部点击按user.id折叠。

第二级折叠不允许 inner_hits。

GET /my-index-000001/_search
{"query": {"match": {"message": "GET /search"}},"collapse": {"field": "geo.country_name","inner_hits": {"name": "by_location","collapse": { "field": "user.id" },"size": 3}}
}
{"hits" : {"hits" : [{"_index" : "my-index-000001","_type" : "_doc","_id" : "oX9uXXoB0da05OCR3adK","_score" : 0.5753642,"_source" : {"@timestamp" : "2099-11-15T14:12:12","geo" : {"country_name" : "Amsterdam"},"http" : {"request" : {"method" : "get"},"response" : {"bytes" : 1070000,"status_code" : 200},"version" : "1.1"},"message" : "GET /search HTTP/1.1 200 1070000","source" : {"ip" : "127.0.0.1"},"user" : {"id" : "kimchy"}},"fields" : {"geo.country_name" : ["Amsterdam"]},"inner_hits" : {"by_location" : {"hits" : {"total" : {"value" : 1,"relation" : "eq"},"max_score" : null,"hits" : [{"_index" : "my-index-000001","_type" : "_doc","_id" : "oX9uXXoB0da05OCR3adK","_score" : 0.5753642,"_source" : {"@timestamp" : "2099-11-15T14:12:12","geo" : {"country_name" : "Amsterdam"},"http" : {"request" : {"method" : "get"},"response" : {"bytes" : 1070000,"status_code" : 200},"version" : "1.1"},"message" : "GET /search HTTP/1.1 200 1070000","source" : {"ip" : "127.0.0.1"},"user" : {"id" : "kimchy"}},"fields" : {"user.id" : ["kimchy"]}}]}}}}]}
}

Collapse search results相关推荐

  1. Visualizing Search Results with Solr /browse Velocity

    转自 /browse – A simple, configurable, built-in templated results view We foreshadowed to this point i ...

  2. Clustering and Exploring Search Results using Timeline Constructions (paper2)

    作者:Omar Alonso 会议:CIKM 2009 摘要: 截至目前(2009),通过提取文档中内嵌的时间信息来展现和聚类,这方面的工作并不多. 在这篇文章中,我们将提出一个"小插件&q ...

  3. 【任务型对话系统】Database Search Results Disambiguation for Task-Oriented Dialog Systems

    链接:https://arxiv.org/pdf/2112.08351.pdf 简介 在任务型对话系统(task-oriented dialog systems)中,有时我们会遇到这样一个问题: 对于 ...

  4. Eclipse使用Maven时出现:Index downloads are disabled, search results may be incomplete.问题解决...

    https://www.cnblogs.com/EasonJim/p/6674099.html 1.全局设置 [Windows]->[Preferences]->[Maven]->勾 ...

  5. Optimize Search Results

  6. Google Ajax Search 参考

    Google AJAX Search API参考 Google AJAX Search API是一种允许您设置Google查寻到您的网页和其他 Web应用程序上的Javascript类库.要使用API ...

  7. google custom search api 申请注册 cx key

    目录 1.建立Custom Search Engine 2.到API key网站 获取 api key 3.测试 api key 搜索 4.搜索参数列表 1.建立Custom Search Engin ...

  8. How do I cover the “no results” text in UISearchDisplayController's searchResultTableView?

    How do I cover the "no results" text in UISearchDisplayController's searchResultTableView? ...

  9. 转:Some interesting facts about SharePoint 2007 Search

    Some interesting facts about SharePoint 2007 Search Published 14 November 08 06:21 PM | harikumh Can ...

  10. 使用Google Custom Search打造站内搜索

    链接: Google AJAX 搜索 API 参考: http://www.google.com/cse/docs/cref.html?hl=zh-CN http://www.google.com/c ...

最新文章

  1. 虚拟目录和应用程序的区别
  2. python turtle循环图案-Python内置模块turtle绘图详解
  3. 阿里巴巴副总裁陈丽娟:我对阿里云产品生态的思考 | 云原生加速器观点
  4. boost::fusion::find用法的测试程序
  5. [Sharepoint2007对象模型]第二回:Web应用程序服务(SPWebService)
  6. k近邻推荐用到的各种距离
  7. php str_replice_详解PHP字符串替换str_replace()函数四种用法
  8. Content-Script-Type的设置好象没多大用处,或许我不知道有什么用
  9. 原来真的不会用指针[*p++]
  10. jtopo绘图帧数与cpu使用率
  11. Linux设备驱动程序学习(2)-调试技术
  12. lstm 做多分类loss完全不下降_使用Induction Network做Few-Shot Text分类
  13. Android数据库框架LitePal详解
  14. svn命令行回滚到指定版本
  15. 温习古文之念奴娇·赤壁怀古
  16. 一些个人电脑问题记录
  17. 【图片新闻】低空穿越的美军MC-130J突击队II特种作战运输机
  18. 随机生成一个1 到100之间的整数,从键盘输入数字进行猜数,一共可以猜5次
  19. 几个Windows强力卸载工具软件推荐
  20. 修改了便签内容怎样再恢复?

热门文章

  1. sns.relplot
  2. C Primer Plus 第十四章学习总结……2015.5.17
  3. 平面设计必须知道的尺寸列表
  4. 服务器显示配额不足什么原因,win7系统显示配额不足导致无法访问的解决方法...
  5. javascript中function前面加(/!/+/-/~的含义
  6. linux chmod 777 dev,ubuntu – 撤消chmod 777
  7. 计算机图形学入门(十四)-光线追踪(加速包围盒体)
  8. 2021强校北师大附中招信息学奥赛方向的科技特长生认定标准
  9. Linux内核同步原语之原子操作(Atomic)
  10. 在训练的时候loss增大怎么办