elasticsearch 反应结构中不同类型的分组结果,elasticsearch,types,grouping,response,elasticsearch,Types,Grouping,Response" /> elasticsearch 反应结构中不同类型的分组结果,elasticsearch,types,grouping,response,elasticsearch,Types,Grouping,Response" />

elasticsearch 反应结构中不同类型的分组结果

elasticsearch 反应结构中不同类型的分组结果,elasticsearch,types,grouping,response,elasticsearch,Types,Grouping,Response,我需要为一些数据建立一个可搜索的索引,以便在客户机中显示,每种类型在结果列表中都有自己的部分,并且只显示前5项。假设我们的出版物有三种不同类型的媒体:DVD、CD和LP(乙烯基)。它们都有艺术家、标题、长度、曲目数量、流派等属性 假设我用三种类型为内容编制索引,分别是dvd、cd和lp 当我做这样的搜索时* 我想得到一个回复,每个组有5个项目,组中匹配的总数,可能还有一个组的可读名称。可能是这样的: { "groups":{ "dvd":{ "na

我需要为一些数据建立一个可搜索的索引,以便在客户机中显示,每种类型在结果列表中都有自己的部分,并且只显示前5项。假设我们的出版物有三种不同类型的媒体:DVD、CD和LP(乙烯基)。它们都有艺术家、标题、长度、曲目数量、流派等属性

假设我用三种类型为内容编制索引,分别是dvd、cd和lp

当我做这样的搜索时*

我想得到一个回复,每个组有5个项目,组中匹配的总数,可能还有一个组的可读名称。可能是这样的:

{  
   "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个单独的查询以获得结果?这不能解决你的问题吗?那可能是解决问题的方法。但是客户端是一个移动应用程序,我们想要显示的结果组可以根据需要进行更改。因此,如果弹性搜索能够返回分组的结果,并且每个组都有“人类可读”的名称,那就太好了。这样我们就不必对搜索结果视图进行额外的配置管理。