es - elasticsearch search - collapse

2023-10-22 06:50

本文主要是介绍es - elasticsearch search - collapse,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

问 :collapse有什么特点?
答 :
在这里插入图片描述
问 :collapse如何使用?
答 :

# collapse
PUT /collapse_test
{"mappings" : {"properties" : {"name" : {"type" : "text"},"user" : {"properties": { "id"  : {"type" : "integer"},"age" : {"type" : "integer"}}}}}
}# 索引
POST /collapse_test/_doc/1
{"name" : "hello","user" : {"id"  : 1,"age" : 18}
}# 索引
POST /collapse_test/_doc/2
{"name" : "hello good","user" : {"id"  : 2,"age" : 17}
}# 索引
POST /collapse_test/_doc/3
{"name" : "hello good","user" : {"id"  : 3,"age" : 17}
}# 索引
POST /collapse_test/_doc/4
{"name" : "hello good","user" : {"id"  : 4,"age" : 17}
}# 索引
POST /collapse_test/_doc/5
{"name" : "hello good me","user" : {"id"  : 5,"age" : 19}
}# 搜索
GET /collapse_test/_search
{"query" : {"match" : {"name" : "hello"}},"collapse" : {"field" : "user.id"}
}# 结果
{"took" : 0,"timed_out" : false,"_shards" : {"total" : 1,"successful" : 1,"skipped" : 0,"failed" : 0},"hits" : {"total" : {"value" : 5,"relation" : "eq"},"max_score" : null,"hits" : [{"_index" : "collapse_test","_type" : "_doc","_id" : "1","_score" : 0.10938574,"_source" : {"name" : "hello","user" : {"id" : 1,"age" : 18}},"fields" : {"user.id" : [1]}},{"_index" : "collapse_test","_type" : "_doc","_id" : "2","_score" : 0.08701137,"_source" : {"name" : "hello good","user" : {"id" : 2,"age" : 17}},"fields" : {"user.id" : [2]}},{"_index" : "collapse_test","_type" : "_doc","_id" : "3","_score" : 0.08701137,"_source" : {"name" : "hello good","user" : {"id" : 3,"age" : 17}},"fields" : {"user.id" : [3]}},{"_index" : "collapse_test","_type" : "_doc","_id" : "4","_score" : 0.08701137,"_source" : {"name" : "hello good","user" : {"id" : 4,"age" : 17}},"fields" : {"user.id" : [4]}},{"_index" : "collapse_test","_type" : "_doc","_id" : "5","_score" : 0.07223585,"_source" : {"name" : "hello good me","user" : {"id" : 5,"age" : 19}},"fields" : {"user.id" : [5]}}]}
}# 搜索
GET /collapse_test/_search
{"collapse" : {"field"      : "user.age","inner_hits" : [{"name" : "most_recent","size" : 4,"sort" : [{"user.id" : "desc"}]},{"name" : "largest_responses","size" : 4,"sort" : [{"user.id" : "asc"}]}],"max_concurrent_group_searches" : 4},"sort" : [{"user.id" : "desc"}]
}# 结果
{"took" : 0,"timed_out" : false,"_shards" : {"total" : 1,"successful" : 1,"skipped" : 0,"failed" : 0},"hits" : {"total" : {"value" : 5,"relation" : "eq"},"max_score" : null,"hits" : [{"_index" : "collapse_test","_type" : "_doc","_id" : "5","_score" : null,"_source" : {"name" : "hello good me","user" : {"id" : 5,"age" : 19}},"fields" : {"user.age" : [19]},"sort" : [5],"inner_hits" : {"most_recent" : {"hits" : {"total" : {"value" : 1,"relation" : "eq"},"max_score" : null,"hits" : [{"_index" : "collapse_test","_type" : "_doc","_id" : "5","_score" : null,"_source" : {"name" : "hello good me","user" : {"id" : 5,"age" : 19}},"sort" : [5]}]}},"largest_responses" : {"hits" : {"total" : {"value" : 1,"relation" : "eq"},"max_score" : null,"hits" : [{"_index" : "collapse_test","_type" : "_doc","_id" : "5","_score" : null,"_source" : {"name" : "hello good me","user" : {"id" : 5,"age" : 19}},"sort" : [5]}]}}}},{"_index" : "collapse_test","_type" : "_doc","_id" : "4","_score" : null,"_source" : {"name" : "hello good","user" : {"id" : 4,"age" : 17}},"fields" : {"user.age" : [17]},"sort" : [4],"inner_hits" : {"most_recent" : {"hits" : {"total" : {"value" : 3,"relation" : "eq"},"max_score" : null,"hits" : [{"_index" : "collapse_test","_type" : "_doc","_id" : "4","_score" : null,"_source" : {"name" : "hello good","user" : {"id" : 4,"age" : 17}},"sort" : [4]},{"_index" : "collapse_test","_type" : "_doc","_id" : "3","_score" : null,"_source" : {"name" : "hello good","user" : {"id" : 3,"age" : 17}},"sort" : [3]},{"_index" : "collapse_test","_type" : "_doc","_id" : "2","_score" : null,"_source" : {"name" : "hello good","user" : {"id" : 2,"age" : 17}},"sort" : [2]}]}},"largest_responses" : {"hits" : {"total" : {"value" : 3,"relation" : "eq"},"max_score" : null,"hits" : [{"_index" : "collapse_test","_type" : "_doc","_id" : "2","_score" : null,"_source" : {"name" : "hello good","user" : {"id" : 2,"age" : 17}},"sort" : [2]},{"_index" : "collapse_test","_type" : "_doc","_id" : "3","_score" : null,"_source" : {"name" : "hello good","user" : {"id" : 3,"age" : 17}},"sort" : [3]},{"_index" : "collapse_test","_type" : "_doc","_id" : "4","_score" : null,"_source" : {"name" : "hello good","user" : {"id" : 4,"age" : 17}},"sort" : [4]}]}}}},{"_index" : "collapse_test","_type" : "_doc","_id" : "1","_score" : null,"_source" : {"name" : "hello","user" : {"id" : 1,"age" : 18}},"fields" : {"user.age" : [18]},"sort" : [1],"inner_hits" : {"most_recent" : {"hits" : {"total" : {"value" : 1,"relation" : "eq"},"max_score" : null,"hits" : [{"_index" : "collapse_test","_type" : "_doc","_id" : "1","_score" : null,"_source" : {"name" : "hello","user" : {"id" : 1,"age" : 18}},"sort" : [1]}]}},"largest_responses" : {"hits" : {"total" : {"value" : 1,"relation" : "eq"},"max_score" : null,"hits" : [{"_index" : "collapse_test","_type" : "_doc","_id" : "1","_score" : null,"_source" : {"name" : "hello","user" : {"id" : 1,"age" : 18}},"sort" : [1]}]}}}}]}
}# 搜索,二级折叠
GET /collapse_test/_search
{"collapse" : {"field"      : "user.age","inner_hits" : {"name"     : "most_recent","size"     : 4,"sort"     : [{"user.id" : "desc"}],"collapse" : {"field" : "user.id"}}}
}# 结果
{"took" : 0,"timed_out" : false,"_shards" : {"total" : 1,"successful" : 1,"skipped" : 0,"failed" : 0},"hits" : {"total" : {"value" : 5,"relation" : "eq"},"max_score" : null,"hits" : [{"_index" : "collapse_test","_type" : "_doc","_id" : "1","_score" : 1.0,"_source" : {"name" : "hello","user" : {"id" : 1,"age" : 18}},"fields" : {"user.age" : [18]},"inner_hits" : {"most_recent" : {"hits" : {"total" : {"value" : 1,"relation" : "eq"},"max_score" : null,"hits" : [{"_index" : "collapse_test","_type" : "_doc","_id" : "1","_score" : null,"_source" : {"name" : "hello","user" : {"id" : 1,"age" : 18}},"fields" : {"user.id" : [1]},"sort" : [1]}]}}}},{"_index" : "collapse_test","_type" : "_doc","_id" : "2","_score" : 1.0,"_source" : {"name" : "hello good","user" : {"id" : 2,"age" : 17}},"fields" : {"user.age" : [17]},"inner_hits" : {"most_recent" : {"hits" : {"total" : {"value" : 3,"relation" : "eq"},"max_score" : null,"hits" : [{"_index" : "collapse_test","_type" : "_doc","_id" : "4","_score" : null,"_source" : {"name" : "hello good","user" : {"id" : 4,"age" : 17}},"fields" : {"user.id" : [4]},"sort" : [4]},{"_index" : "collapse_test","_type" : "_doc","_id" : "3","_score" : null,"_source" : {"name" : "hello good","user" : {"id" : 3,"age" : 17}},"fields" : {"user.id" : [3]},"sort" : [3]},{"_index" : "collapse_test","_type" : "_doc","_id" : "2","_score" : null,"_source" : {"name" : "hello good","user" : {"id" : 2,"age" : 17}},"fields" : {"user.id" : [2]},"sort" : [2]}]}}}},{"_index" : "collapse_test","_type" : "_doc","_id" : "5","_score" : 1.0,"_source" : {"name" : "hello good me","user" : {"id" : 5,"age" : 19}},"fields" : {"user.age" : [19]},"inner_hits" : {"most_recent" : {"hits" : {"total" : {"value" : 1,"relation" : "eq"},"max_score" : null,"hits" : [{"_index" : "collapse_test","_type" : "_doc","_id" : "5","_score" : null,"_source" : {"name" : "hello good me","user" : {"id" : 5,"age" : 19}},"fields" : {"user.id" : [5]},"sort" : [5]}]}}}}]}
}

这篇关于es - elasticsearch search - collapse的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/259802

相关文章

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

JavaScript正则表达式六大利器:`test`、`exec`、`match`、`matchAll`、`search`与`replace`详解及对比

在JavaScript中,正则表达式(Regular Expression)是一种用于文本搜索、替换、匹配和验证的强大工具。本文将深入解析与正则表达式相关的几个主要执行方法:test、exec、match、matchAll、search和replace,并对它们进行对比,帮助开发者更好地理解这些方法的使用场景和差异。 正则表达式基础 在深入解析方法之前,先简要回顾一下正则表达式的基础知识。正则

ElasticSearch的DSL查询⑤(ES数据聚合、DSL语法数据聚合、RestClient数据聚合)

目录 一、数据聚合 1.1 DSL实现聚合 1.1.1 Bucket聚合  1.1.2 带条件聚合 1.1.3 Metric聚合 1.1.4 总结 2.1 RestClient实现聚合 2.1.1 Bucket聚合 2.1.2 带条件聚合 2.2.3 Metric聚合 一、数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如:

OpenGL ES学习总结:基础知识简介

什么是OpenGL ES? OpenGL ES (为OpenGL for Embedded System的缩写) 为适用于嵌入式系统的一个免费二维和三维图形库。 为桌面版本OpenGL 的一个子集。 OpenGL ES管道(Pipeline) OpenGL ES 1.x 的工序是固定的,称为Fix-Function Pipeline,可以想象一个带有很多控制开关的机器,尽管加工

OpenGL ES 2.0渲染管线

http://codingnow.cn/opengles/1504.html Opengl es 2.0实现了可编程的图形管线,比起1.x的固定管线要复杂和灵活很多,由两部分规范组成:Opengl es 2.0 API规范和Opengl es着色语言规范。下图是Opengl es 2.0渲染管线,阴影部分是opengl es 2.0的可编程阶段。   1. 顶点着色器(Vert

【docker】基于docker-compose 安装elasticsearch + kibana + ik分词器(8.10.4版本)

记录下,使用 docker-compose 安装 Elasticsearch 和 Kibana,并配置 IK 分词器,你可以按照以下步骤进行。此过程适用于 Elasticsearch 和 Kibana 8.10.4 版本。 安装 首先,在你的工作目录下创建一个 docker-compose.yml 文件,用于配置 Elasticsearch 和 Kibana 的服务。 version:

ElasticSearch底层原理简析

1.ElasticSearch简述 ElastiaSearch(以下简称ES)是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,支持RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。ES设计用于云计算中,能够进行实时搜索,支持PB级搜索,具有稳定,可靠,快速,安装使用方便等

插件maven-search:Maven导入依赖时,使用插件maven-search拷贝需要的依赖的GAV

然后粘贴: <dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>8.0.26</version> </dependency>

ElasticSearch 6.1.1 通过Head插件,新建索引,添加文档,及其查询数据

ElasticSearch 6.1.1 通过Head插件,新建索引,添加文档,及其查询; 一、首先启动相关服务: 二、新建一个film索引: 三、建立映射: 1、通过Head插件: POST http://192.168.1.111:9200/film/_mapping/dongzuo/ {"properties": {"title": {"type":