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

小包工头怎么注册公司seo服务公司招聘

小包工头怎么注册公司,seo服务公司招聘,宿州网站开发建设,怎么做企业网站推广赚钱文章目录 前言一、主要使用场景二、collapse 的基本用法三、inner_hits 作用:获取分组内的更多信息四、collapse 是否影响评分?五、collapse 的性能影响六、collapse vs. terms 聚合对比七、适用场景总结总结 前言 在 Elasticsearch 查询中,…

文章目录

  • 前言
  • 一、主要使用场景
  • 二、collapse 的基本用法
  • 三、inner_hits 作用:获取分组内的更多信息
  • 四、collapse 是否影响评分?
  • 五、collapse 的性能影响
  • 六、collapse vs. terms 聚合对比
  • 七、适用场景总结
  • 总结


前言

在 Elasticsearch 查询中,collapse(字段折叠)用于对指定字段的值进行分组,每组只返回一个文档。它的作用类似于 SQL 里的 GROUP BY,但 collapse 不会聚合所有字段,而是仅折叠查询结果的显示方式。


一、主要使用场景

collapse 主要用于以下场景:

  • 去重搜索:在电商、招聘、社交等场景中,可能会有多个文档代表同一个实体(如同一家公司不同的职位、同一商品的不同库存记录),collapse 可以确保只返回一个文档,避免重复展示。

  • 分组展示:例如,新闻搜索时,每个来源只返回一篇文章,以便提供多样化的搜索结果。

  • 提高查询效率:相比于 terms 聚合,collapse 只返回一个文档而不是所有文档,减少了数据传输和计算负担。

二、collapse 的基本用法

使用 collapse 需要在 query 之外的 collapse 字段中指定一个字段名。该字段必须是 keyword、numeric 或 date 类型,且不能是 analyzed 字段。

示例 1:对 company_id 进行折叠

{"query": {"match": {"title": "软件工程师"}},"collapse": {"field": "company_id"}
}
  • 这将确保结果中每个 company_id 只返回一个文档(该公司下最相关的一条招聘信息)。

三、inner_hits 作用:获取分组内的更多信息

默认情况下,collapse 只会返回每个分组中的一个文档。如果想要在每个分组中查看更多文档,可以使用 inner_hits。

示例 2:每个 company_id 下最多返回 3 条招聘信息

{"query": {"match": {"title": "软件工程师"}},"collapse": {"field": "company_id","inner_hits": {"name": "top_jobs_per_company","size": 3,"sort": [{ "salary": "desc" }]}}
}
  • 这将在每个 company_id 分组下返回最多 3 条职位信息,并按 salary 降序排列。

四、collapse 是否影响评分?

  • 影响主查询结果的评分排序:

    • collapse 不会影响查询的评分计算,但它会影响最终返回的文档,因为它筛选掉了一些评分较低的文档。
  • collapse 默认返回每个分组中评分最高的文档,因此在 collapse 后,最终结果仍然是按 score 排序的。

  • inner_hits 中的评分:

    • inner_hits 依然会按照 query 的评分排序,或者可以自定义 sort 排序规则。

五、collapse 的性能影响

collapse 相比 terms 聚合(terms 会返回所有匹配的文档并做聚合)更加轻量级,因此对于某些场景,它可以显著提高查询效率。

✅ 性能优势

  • 减少数据传输量: 只返回每个分组的一条数据,避免返回大量重复数据。

  • 比 terms 聚合更轻量: collapse 仅适用于搜索阶段,而 terms 聚合需要额外的计算和存储开销。

  • 更适合大数据量: 适用于上百万甚至上亿级别数据的去重查询,而 terms 聚合可能会因为 bucket 过多导致 OOM。

⚠️ 性能注意事项

  • 字段必须是 keyword、numeric 或 date 类型,不能是 text(未索引的文本字段)。

  • inner_hits 可能影响性能: inner_hits 需要加载更多文档,会增加查询开销。

  • 不适用于分页查询: collapse 仅影响当前 from + size 范围的文档,如果需要分页,每页可能会返回相同的 group,需要用 search_after 或 scroll 处理。

六、collapse vs. terms 聚合对比

特性collapseterms 聚合
作用每组返回一个文档计算每组的所有文档,并可做统计
适用场景仅展示每个分组的一个代表文档需要统计、分析所有分组数据
影响评分不影响计算方式,但影响最终返回的文档只用于统计,不影响查询的评分
内存占用 低(仅保留 from + size 范围的折叠数据)高(可能需要存储所有匹配文档)
适用于大数据可能会 OOM

七、适用场景总结

业务场景推荐使用
只想展示每个分组的一个结果,如每家公司最多一个职位✅ collapse
需要统计各分组的所有数据,如统计不同公司的职位总数❌ 使用 terms 聚合
需要分页且分组后仍能正确分页❌ terms 聚合 或 search_after
需要在一个分组下获取多个结果(但不是所有)✅ collapse + inner_hits

总结

  • collapse 适用于去重搜索,如展示唯一的公司、商品或用户等,而不会影响评分计算方式。

  • collapse 比 terms 聚合更高效,尤其是对于大数据场景。

  • inner_hits 可用于查看分组内更多文档,但可能影响查询性能。

  • collapse 适合搜索场景,而 terms 聚合更适合统计和分析。

如果你的数据量较大,并且希望提高查询效率,同时避免返回重复数据,那么 collapse 是一个非常好的选择!

http://www.dtcms.com/wzjs/282443.html

相关文章:

  • 制定网站建设方案域名查询万网
  • 衡阳网站建设qiandu1什么是搜索关键词
  • 网站权重等级创建网站要钱吗
  • 万网站建设优化大师软件下载
  • 在美国建网站需要自己做服务器吗seo项目分析
  • 免费建设网站企业网站推广有哪些方式
  • 网站线下推广怎么做哪些平台可以发布推广信息
  • 优享wordpressseo快速提升排名
  • 网站建设不完整室内设计培训班学费一般多少
  • 企业单页网站模板网站怎么进入
  • 怎么创建网站郑州网站设计有哪些
  • 文学网站模板下载推广搜索怎么选关键词
  • 美食网站建设电商网站建设平台
  • 语言做网站仓山区seo引擎优化软件
  • 人才网官网登录电商seo引流
  • 昆山企业网站建设公司推广普通话手抄报内容怎么写
  • 做恐怖网站中国突然宣布大消息
  • wordpress优酷自适应刷seo关键词排名软件
  • 网站登录验证码不显示百度推广
  • 济南手机网站建设公司报价推广普通话内容50字
  • 上海网站建设的实体店营销策划方案
  • 淘宝网站内站建设现状最近有新病毒出现吗
  • 做冠县梨园网站怎么做seo教程免费
  • 网站开发实施经费预算谷歌paypal官网
  • 如何看待政府网站群建设的重大意义深圳app推广平台
  • wordpress选什么配置的服务器seo建站收费地震
  • 门户网站 技术方案网站搭建公司哪家好
  • 网站 经营性网络营销策划
  • 定西市建设局网站百中搜优化软件
  • b2c旅游网站建设个人网页怎么做