我正在使用Apache Solr对我的mongo数据库进行索引和搜索。当我在Solr中索引实体时,我只保存该实体的ID,以便我可以从mongo中检索完整的结果。问题是,因为我只保存ID,所以我不知道ID在哪个集合中。所以,这就是我正在考虑的事情,并且对这些选项中的任何选项的输入都会很棒(或者其他选项我没有想过)
是否可以搜索所有馆藏以通过其ID找到合适的实体?
由于上述方法对我来说似乎不太好,是否可以创建一个可用于在相应集合中查找相应实体的复合索引?
与ID一起,在Solr中保存集合的名称,并将其与搜索结果一起返回
修改 我正在使用mongo的本地ObjectId作为ID,因此所有集合中的ID应该是唯一的
答案 0 :(得分:0)
对于问题的第一部分,请检查:Get a document in MongoDB without specifying collection
是的,绝对可以创建复合索引。您可以创建类似{type} +“ - ”+ {id}的内容,以在您的应用中创建唯一索引。通常情况下,您将知道要查询哪个集合以按ID搜索。