2016-02-18 87 views
0

我剛剛將Solr集成到了我的nodejs/mongodb應用程序中,以處理我的服務中特定集合的更高級的查詢。我使用了mongo連接器來將我的mongodb與Solr數據庫同步,並自定義Solr字段以引入必要的字段進行查詢。Solr中的內部過濾

有一個visible這個集合中的一個文檔的屬性,我們用它來確定對象是公開的(被所有人看到)還是私人的(被所有者看到)。在使用Solr之前,我們進行了服務器API調用,以確保visible位在請求中發揮作用,但現在我不確定如何模擬Solr中的功能。

我們的意圖是直接從客戶端應用程序使用Solr的查詢參數與我們的客戶端搜索/過濾器頁面的Solr。是否有辦法確保所有對Solr的調用都附加了一個名爲visible = true的過濾器,以確保私人文檔不包含在響應中?我不想寫在客戶端,因爲這仍然暴露這些文件。

任何意見將不勝感激!

+0

我認爲過濾掉從Solr的結果的唯一方式是使用熒光定量參數與查詢一起,但如果你不往其附加傾斜,你總是可以索引的私人並將公共文檔分配給2個獨立的核心,然後根據用戶=來提供其中一個或另一個的結果。 –

回答

1

是的。您可以將參數列表添加到requestHandler的定義中,該請求將fq語句附加到所有請求。 The example from the wiki解決了一個相同的用例:

<lst name="appends"> 
    <!-- no matter what other fq are also used, always restrict to only inStock products --> 
    <str name="fq">inStock:true</str> 
</lst> 
+0

猜猜我錯了。謝謝你。 –