如果我們希望為 Elasticsearch 加上登入的身份驗證,透過帳號密碼來控制存取服務的權限的話,有一個 Plugin 可以用 - Shield,裝起來之後不用做太多設定它就能運作了,而且還可以做 IP 的過濾、整合 AD,如果角色不夠用還可以自訂角色,做更彈性的權限控制。
[料理佳餚] 為 Elasticsearch 加上 Shield 身份驗證的安全防護
- 1311
- 0
- Elasticsearch
如果我們希望為 Elasticsearch 加上登入的身份驗證,透過帳號密碼來控制存取服務的權限的話,有一個 Plugin 可以用 - Shield,裝起來之後不用做太多設定它就能運作了,而且還可以做 IP 的過濾、整合 AD,如果角色不夠用還可以自訂角色,做更彈性的權限控制。
之前已經成功將 Elasticsearch 裝在 Windows Server 上,相關過程記錄在這篇文章 [料理佳餚] 安裝 Elasticsearch 分散式搜尋系統,現在試著將它裝在 CentOS 上,下面就記錄整個過程及所用到的指令。
NEST 的 Search 方法直接將搜尋結果轉換成強型別來提供給我們使用,可說是非常方便,那我們能不能將搜尋結果轉成另外一個強型別呢?答案是肯定的,不過如果直接將 Search 這個一般化方法指定的類別給換掉,會踩到一些雷,且看接下來的說明。
要在 Elasticsearch 下達搜尋指令找出一些東西來,可以透過像 kopf 這類的 Plugin 所提供的 GUI 來直接操作 Elasticsearch 的 RESTFUL Api,可是我們最終還是有需要自己寫程式來下搜尋指令的時候,除了用像 RestSharp 這類的套件,再自行轉換 JSON 結果之外,當然也可以透過 NEST 來輕鬆達成。
Elasticsearch 架設起來之後雖然已經有 RESTFUL Api 可以使用,GUI 方面也有像 kopf 之類的 Plugin 可以用,但是要寫程式來操作它除了自己接 RESTFUL Api 之外,其實我們還有其它套件可以選擇,像是連 Stack Overflow 都使用的 NEST。
Elasticsearch 架好之後,最重要的是要拿它來建立索引資料,提供我們快速的搜尋服務,類似的搜尋服務有雲端的 Microsoft Azure Search,還有一樣是 Open Source 的 Solr,會介紹 Elasticsearch 主要是它操作起來非常簡單。
Elasticsearch 基本上只是提供服務而已,僅有最簡單的 RESTFUL Api,如果要讓它視覺化就得安裝其他的 Plugin,而我選中的是 kopf,其他的 Plugin 可以參考官網的列表。
Elasticsearch 可以安裝在 Linux 上,也可以安裝在 Windows 上,而我是安裝在 Windows 上。
搜尋的功能在軟體發展到一個階段,甚至是在軟體建置初期就會被要求加入的一個功能,實作搜尋功能的方式有很多,我接觸過的除了傳統關聯式資料庫的 LIKE,還有 Microsoft Index Service、HP IDOL 到今天我要介紹的 Elasticsearch。