2011-05-08 67 views
2

我正在構建一個系統,用戶具有特定的動態角色,使他們能夠訪問某些資源(即元文檔)。這些文件META用Elastic Search索引。全文搜索和角色權限

我可以毫無困難地做我的查詢。

現在我需要考慮角色: 如果我添加允許在索引文檔時查看給定文檔的角色,那麼我將過濾我的查詢以匹配特定角色並返回結果。

這很好,但如果角色改變了,我需要重新索引我的所有文檔。

如果我在服務器端動態地接收彈性搜索結果,它可能會工作,但會消耗一些CPU和帶寬,再加上它可能是一個方面搜索和分頁問題。

你會如何解決這樣的問題?什麼是最合適的解決方案?

+0

有趣的問題!我想這是執行將全文搜索與關係方面相結合的查詢的更一般問題的特定情況。當然一些關係數據庫已經支持快速全文搜索。 – 2011-05-08 13:03:01

+0

角色變化的頻率如何?索引需要多長時間?重新編制索引是否會影響搜索? – 2011-05-09 05:35:05

+0

當我看到ES支持批量插入以加快索引時,實際上,重新索引將是一個可行的解決方案,而不是經常更改角色。 – coulix 2011-05-09 06:34:15

回答

0

把代理放在你的前面彈性搜索怎麼樣,這將刪除所有不需要的結果,並不關心搜索的角色?