我已经有了一个场景,其中的文档在弹性搜索中被编入索引,并且我需要检索mongo中的匹配文档以及按照时间戳排序的前面和后面的文档。这个想法是与原始文档一起检索文档的上下文。基于_id获取顺序文档
如果我使用顺序的_id,我现在能够成功完成此操作。作为一个例子,使用下面的数据:
[
{_id: 1, value: 'Example One' },
{_id: 2, value: 'Example Two' },
{_id: 3, value: 'Example Three' },
{_id: 4, value: 'Example Four' },
{_id: 5, value: 'Example Five' },
{_id: 6, value: 'Example Six' },
...
]
如果我搜索在ES“四”,我回来的4文档_id,因为它是连续的,我可以创造一个蒙戈查询拉ID之间的范围 - 2和id + 2,在这种情况下是2 - 6.只要我不删除文档,这种方式效果很好。当我删除一个文档时,我将不得不重新编制整个系列的索引以消除差距。我正在寻找一种达到相同结果的方式,同时也能够删除文件而无需更新所有文件。
我很乐意使用其他技术来实现这一点,我不一定与mongodb绑定。
使用RDBMS时还有其他方法可以解决这个问题。例如,使用SQL Server,我可以使用带有ROW_NUMBER的CTE。我可能能够使用地图缩小功能获得我正在寻找的内容。我得看看那个。 –