2013-07-30 36 views
0

我使用Apache Solr對我的mongo數據庫進行索引和搜索。當我在Solr中索引實體時,我只保存該實體的ID,以便我可以從mongo中檢索完整的結果。問題是,因爲我只保存ID,所以我不知道該ID是哪個集合。所以,這是我正在考慮的內容,並且對這些選項的任何輸入都會很棒(或其他選項I沒有想到)當收集未知時通過id選擇

是否有可能通過搜索所有集合來找到適當的實體ID?

  • 如果這是可能的,它是否容易慢/低效?

由於上述方法對我來說似乎不太好,是否有可能創建一個可用於在相應集合中找到適當實體的複合索引?

隨着ID,保存在Solr中的集合名稱,並返回隨着搜索結果

  • 雖然這似乎是最好的,從效率的角度來看,好像我可能是創建自己的道路問題,如果/當我需要改變集合名稱,或添加新的

編輯: 我使用蒙戈的本地的ObjectId爲的ID,所以IDS應該覆蓋所有集合

回答

0

你的問題的第一部分是唯一的,檢查:Get a document in MongoDB without specifying collection

是的,它是絕對有可能創建一個複合索引。您可以創建類似{type} +「 - 」+ {id}的內容,以在您的應用中創建唯一索引。通常情況下,你會知道要查詢哪個集合以便通過id進行搜索。