最近有个需求:A项目去创建索引并写入数据,B 项目去查询数据,
B项目为了区分 数据的 来源信息等,需要A项目在数据里写入来源地址等信息,A项目会针对不同的来源地址,创建不同的索引,就是每个索引的来源信息 都是相同的,但是A项目不会通知B 项目任何信息,
那么A有没有办法把这个数据提取出来,给索引打上一个标签,而不是写到每一条数据里去,查询起来不太方便,也占用了没必要的空间
B项目为了区分 数据的 来源信息等,需要A项目在数据里写入来源地址等信息,A项目会针对不同的来源地址,创建不同的索引,就是每个索引的来源信息 都是相同的,但是A项目不会通知B 项目任何信息,
那么A有没有办法把这个数据提取出来,给索引打上一个标签,而不是写到每一条数据里去,查询起来不太方便,也占用了没必要的空间
4 个回复
zj_likang
赞同来自:
envy666
赞同来自:
liuxg - Elastic
赞同来自:
su_san - 90后小苏
赞同来自:
如果是这样, 那就可以采用索引模板的形式. 索引模板对索引`A_{地域信息}`有效.
业务层来了数据根据地域信息创建索引, B项目查询时根据地域信息构建索引进行查询.
2.B项目每次查询如果涉及多个地域的索引, 且查询结果需要区分地域信息的话
此种情况的话, 感觉还是tag形式好一些. 如果tag相对document整体而言较小, 占用的空间感觉并不是很浪费.
比如B项目需要3个地域的数据 可以直接terms来过滤即可.