想请教下社区大佬们,现有如下业务:
索引A
存储:手机号,信息
索引B
存储:黑名单手机号
查询A时需要根据B进行筛选(包含在B内的手机剔除掉)
我现在想到的思维一直停留在表联查。
看文档,官方提供的解决方案中
1.先查B,在拿B的结果当作A的条件。但是B存储的黑名单是会增长,数据量只会越多
2.把B的数据填充到A中,貌似根本不太适用这个需求。
还望社区大佬们指点一二
索引A
存储:手机号,信息
索引B
存储:黑名单手机号
查询A时需要根据B进行筛选(包含在B内的手机剔除掉)
我现在想到的思维一直停留在表联查。
看文档,官方提供的解决方案中
1.先查B,在拿B的结果当作A的条件。但是B存储的黑名单是会增长,数据量只会越多
2.把B的数据填充到A中,貌似根本不太适用这个需求。
还望社区大佬们指点一二
2 个回复
liujiacheng
赞同来自:
之前对索引B的增删改查都改为对索引A的某个字段的增删改查
比如update by query。
当然还有一个方案,就是在查A和查B,在程序中做合并过滤。
kirito - 专注es
赞同来自:
一般最常规的操作是你可以把所有的手机号录入在一个索引中,通过某一个字段来标识是否为黑名单(例如:filter:1,黑名单 2,白名单 使用数字考虑到未来可能还有其他的筛选情况),在查询条件中使用term筛选filter为2的即可达到业务需求。