[英]Apache Solr Schema Configuration
因此,我對Apache Solr並不陌生,現在我確實知道如何處理。 我來自OO編程背景,因此首先讓我解釋一下對象關系:
以一個名為Movie的對象為例,它具有兩個文本字段,標題和描述。 電影可以由用戶與標簽相關聯。 這些標簽是特定於用戶的,其他用戶看不見。
因此,示例電影可能具有以下內容:
“電影標題”,“電影說明” User1Tags:“ tag1”,“ tag2” User2Tags:“ action”,“ somethingElse”
我需要設計一個架構/ solr查詢,以便當user1搜索影片時,如果他們鍵入“ action”,則上面的影片將不會顯示。 這是因為user2將“動作”與“電影標題”而不是user1相關聯。
我考慮過的事情:
1)過濾器查詢-這些查詢似乎不起作用,因為一旦建立了每部電影的索引,我就看不到如何避免將所有用戶標簽都綁定到電影的索引。
2)電影與標簽關聯的獨立核心,每次搜索僅執行兩個查詢。 我知道我可以用這種方法來做,但是對我來說,再做一個核心似乎太過分了。
我還有其他選擇嗎? 還是有辦法實現1? 還是最簡單的選擇就是選擇2,這就是知道自己在Solr上做什么的人會怎么做?
有多少用戶?
如果不是很多,則可以具有動態字段tag_user1,tag_user2並修改eDismax字段列表以使其匹配或不匹配,例如通過使用字段名稱別名。
另一個選項是在值前加上用戶ID。 因此標簽字段將具有:user1_tag1,user1_tag2,user2_action,user2_somethingElse。 然后,在查詢鏈中需要一個自定義過濾器,該過濾器將為搜索令牌加上請求的用戶前綴,因此只有前綴值會匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.