不要急,总有办法的

比较复杂的多索引搜索,不知道怎么处理

Elasticsearch | 作者 dlliwei | 发布于2018年01月19日 | 阅读数:2014

比较复杂的多索引搜索,不知道怎么处理,谁来帮帮忙。
 有两个索引A, B 
A有字段:id, name, title
B有字段:A.id, cid,  did,  name, content
说明:两个索引的关联字段是A.id, 两个索引的数据量非常大,达到千万
要求搜索后分页返回A数据
搜索参数:cid,  did, 关键字(可能是A.name, A.title , B.name, B.content),参数是must的关系。

 
我的几个方案感觉都不好
1  先通过cid,  did 搜索B获取A.id集合,再与关键字一起搜索A,获得最终结果
存在问题:通过cid,  did 搜索B获取A.id集合,必须获取所有数据,再与关键字组合查询(为什么?因为不知道哪些A.id与关键字组合会命中,所以需要去所有命中的A.id。)
2 先搜索关键字获取命中A.id, 再与cid,  did 一起搜索B,获得最终A.id集合,再通过A.id 获取A数据。 比方法1还多了一次搜索,更不好。
 
谁有好的方案?
已邀请:

mcs41531

赞同来自:

如果A对应的B不是很多的话应该可以用嵌套文档,nested

要回复问题请先登录注册