我使用Solr對具有大約100,000個產品和300,000個用戶的系統進行索引和搜索。指數領域是「價格」。但是對於每個用戶來說,價格可能不同。例如:
- 對於產品1和用戶1,用戶2。
- User1看到Product1的價格100 $。
- 但User2不能看到價格(User2必須滿足一些條件才能看到價格),儘管User2在搜索時仍會看到Product1。
Solr一個字段根據某些條件具有不同的值
在編制索引時,我們無法確定是否爲特定用戶設置價格。該產品有一個稱爲「所需合同」的標誌。當用戶登錄時,我們將檢查用戶是否已經爲該產品應用「合同」來顯示或隱藏價格。
這個問題的直接解決方案是爲每個用戶創建不同的「價格」字段。因此,在編制索引時,我們遍歷用戶列表併爲該用戶的「價格」字段編制索引。在搜索時,我們爲登錄用戶使用正確的「價格」字段。顯然,這不是一個實際的解決方案。
我的問題是如何索引「價格」字段在這種情況下還是有解決方案上的任何其他方法?
感謝@Toke爲您解答。但是,我的問題的挑戰是,條件是由搜索時間(通過組合某些產品屬性和用戶的時間)而不是索引確定的。所以在這種情況下,羣體似乎沒有幫助。 – Kien
@Kien請擴展您的問題,並提供相關詳細信息,告訴您如何確定哪些價格與您的價格相關,否則將不可能提供解決方案,以便您如何以體面的方式對其進行索引。 – MatsLindh
@MatsLindh我已更新我的問題以澄清要求。希望有助於清除問題以提出解決方案。謝謝! – Kien