elasticsearch 如何加入elasticsearch索引进行排序?
有没有更好的方法连接两个Elasticsearch索引,以便对查询进行排序 索引#1 索引#2 我希望能够将
elasticsearch 如何加入elasticsearch索引进行排序?,
elasticsearch,
elasticsearch,有没有更好的方法连接两个Elasticsearch索引,以便对查询进行排序 索引#1 索引#2 我希望能够将推荐索引的内容与我的活动索引的内容结合起来,然后根据推荐的显示名进行排序。我需要为成千上万的记录做这个 其他解决方案包括对我的数据进行非规范化,但我希望看看是否有其他方法。您可以通过以下方法进行连接 嵌套结构:使用对象映射,不需要连接 父子关系:使用“类型”字段来区分对同一索引使用不同类型的文档,将父级和子级索引到同一分片中,因此查询将限于单个分片 应用程序端连接:例如,直接在推荐文
推荐
索引的内容与我的活动
索引的内容结合起来,然后根据推荐的显示名
进行排序。我需要为成千上万的记录做这个
其他解决方案包括对我的数据进行非规范化,但我希望看看是否有其他方法。您可以通过以下方法进行连接
- 嵌套结构:使用对象映射,不需要连接
- 父子关系:使用“类型”字段来区分对同一索引使用不同类型的文档,将父级和子级索引到同一分片中,因此查询将限于单个分片
- 应用程序端连接:例如,直接在推荐文档中添加活动字段,允许您直接搜索/查询它们
然后您可以根据推荐的字段进行排序谢谢。我相信我必须通过使用嵌套结构来规范化我的数据。
// GET /activities/_doc/1aadea40-e93b-42b4-9c76-05ebed4335fe (simplified output)
{
"_index" : "activities-1605040906149",
"_type" : "_doc",
"_id" : "1aadea40-e93b-42b4-9c76-05ebed4335fe",
"_source" : {
"date" : 1614286078420,
"activityId" : "1aadea40-e93b-42b4-9c76-05ebed4335fe",
"referralId" : "943f6d94-b2dd-4e89-9383-447fdd1d73d8",
"duration" : 90
}
}
// GET /referrals/_doc/2c022a6e-2543-4cdd-8595-98aea41e8966 (simplified output)
{
"_index" : "referrals-1612984843755",
"_type" : "_doc",
"_id" : "2c022a6e-2543-4cdd-8595-98aea41e8966",
"_source" : {
"displayName" : "JOHN DOE",
"referralId" : "2c022a6e-2543-4cdd-8595-98aea41e8966",
}
}