有这样的检索场景
数据:患者去医院的就诊(看病数据),包括(诊断、用药等等)
查询需求:
1、通过诊断、用药等关键词查询就诊记录列表(一个患者可能会有多次就诊记录)
2、通过诊断、用药等关键词查询患者列表
如何很好的设计索引
1、一条就诊代表一条数据(查询就诊记录时比较方便;但查询患者时需要aggs,同时涉及到分页,感觉效率较低)
2、一个患者代表一条数据(查询患者时比较方便,但部分患者会有上千次就诊记录,如果用nested保持就诊记录会不会有问题;查询就诊记录时感觉非常困难)
3、存储两份数据
大家有没有遇到这种设计问题?
数据:患者去医院的就诊(看病数据),包括(诊断、用药等等)
查询需求:
1、通过诊断、用药等关键词查询就诊记录列表(一个患者可能会有多次就诊记录)
2、通过诊断、用药等关键词查询患者列表
如何很好的设计索引
1、一条就诊代表一条数据(查询就诊记录时比较方便;但查询患者时需要aggs,同时涉及到分页,感觉效率较低)
2、一个患者代表一条数据(查询患者时比较方便,但部分患者会有上千次就诊记录,如果用nested保持就诊记录会不会有问题;查询就诊记录时感觉非常困难)
3、存储两份数据
大家有没有遇到这种设计问题?
1 个回复
JiangJibo - 喊我雷锋
赞同来自: novia
方案2 :如果用nested模型,那么你在新增一条就诊记录时,需要修改整个doc,性能很低的,不建议这样;
方案3:两份数据就是需要额外检索一次