elasticsearch 反应结构中不同类型的分组结果
我需要为一些数据建立一个可搜索的索引,以便在客户机中显示,每种类型在结果列表中都有自己的部分,并且只显示前5项。假设我们的出版物有三种不同类型的媒体:DVD、CD和LP(乙烯基)。它们都有艺术家、标题、长度、曲目数量、流派等属性 假设我用三种类型为内容编制索引,分别是dvd、cd和lp 当我做这样的搜索时* 我想得到一个回复,每个组有5个项目,组中匹配的总数,可能还有一个组的可读名称。可能是这样的:elasticsearch 反应结构中不同类型的分组结果,elasticsearch,types,grouping,response,elasticsearch,Types,Grouping,Response,我需要为一些数据建立一个可搜索的索引,以便在客户机中显示,每种类型在结果列表中都有自己的部分,并且只显示前5项。假设我们的出版物有三种不同类型的媒体:DVD、CD和LP(乙烯基)。它们都有艺术家、标题、长度、曲目数量、流派等属性 假设我用三种类型为内容编制索引,分别是dvd、cd和lp 当我做这样的搜索时* 我想得到一个回复,每个组有5个项目,组中匹配的总数,可能还有一个组的可读名称。可能是这样的: { "groups":{ "dvd":{ "na
{
"groups":{
"dvd":{
"name":"DVD",
"results":65,
"content":[
{
"id":1,
"title":"blablabla"
},
{
"id":4,
"title":"nananana"
},
{
"id":5,
"title":"foo bar"
}
]
},
"cd":{
"name":"CD",
"results":31,
"content":[
{
"id":43,
"title":"lalala"
}
]
},
"lp":{
"name":"Vinyl",
"results":5,
"content":[
{
"id":543,
"title":"buaaah"
}
]
}
}
}
是否可能以任何方式调整elasticsearch以输出这样的结果
或者我应该在移动客户端进行分组,提出3个单独的请求,或者在elasticSearch前面提供一个服务,该服务提出单独的请求并将它们组合到我建议的结构中?为什么不执行3个单独的查询以获得结果?这不能解决你的问题吗?那可能是解决问题的方法。但是客户端是一个移动应用程序,我们想要显示的结果组可以根据需要进行更改。因此,如果弹性搜索能够返回分组的结果,并且每个组都有“人类可读”的名称,那就太好了。这样我们就不必对搜索结果视图进行额外的配置管理。