我想将向量相似性搜索限制在特定日期或日期范围内。我可以为此使用 Astra DB 的
_id
字段(文档模型)中的时间维度吗? Astra DB 会根据日期范围自动将查询路由到正确的分区,然后在这些分区内执行相似性搜索吗?
我知道Astra DB对所有字段建立索引,但我想利用主键固有的时间维度来优化搜索以获得更高的效率。这种方法会模拟向量相似性搜索的默认效率吗?
这是我的示例代码:
const startDate = '2024-10-10T00:00:00Z';
const endDate = '2024-10-12T23:59:59Z';
const cursor = await collection_posts.find(
{
_id: { $gte: startDate, $lte: endDate }
},
{
sort: { "$vectorize": stringSearch },
limit: 3,
projection: { _id: 1, user_id: 1 } // Specify fields to include
}
).toArray();
我的上述问题更多与设计相关,即 astra db 将时间与相似性搜索相结合的最佳实践。
我在提取 uuidv7 的日期/时间部分或根据硬编码日期生成它时也遇到问题。