背景:在考察了多種工具后,我們決定使用solr來作為多標簽用戶管理體系的查詢方案。
原計划:電話,call客,跟進等等記錄上報到kafka,然后通過flume+morphline錄入到solr中。每一個用戶是一個獨立的父文檔,然后每新增一條來電/call客/跟進記錄,則會在用戶的父文檔下增加一個嵌套子文檔。
這樣設計的好處是,一個文檔就能記錄一個用戶所有的記錄,並且還支持多維度的標簽查詢滿足條件的用戶。
在實現的過程中發現並不是那么順利:solr原來是不支持子文檔的更新和增加的。下面是solr官方社區開源問題單對應的說明。
https://issues.apache.org/jira/browse/SOLR-6596
然而功能仍然能實現,我們通過指定一個<doc_type>的字段將文檔標識:用戶文檔,來電記錄文檔,call客記錄文檔。而這些文檔都能通過phone這個關鍵字段來識別。


