iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 10
0
Elastic Stack on Cloud

少女人妻的30天Elastic系列 第 10

【少女人妻的30天Elastic】Day 10 : Elastic App Search_用戶與帳號管理

Aloha!又是我少女人妻Uerica!大家今天過的好嗎~,好快阿!已經來到第十天了,話說最近不是很流行花椰菜米嗎~好吃是好吃,但花椰菜菜蟲其實爆~炸~多~的,我上次買了一個有機花椰菜,挑菜蟲挑到我怕怕,寧可買農藥花椰菜呢 (苦笑) ,外面不是有很多絞碎過的花椰菜米包裝嗎,我其實都不太...

耶好!進入正題 XD


已經第十天啦!這篇文章準備做個 App Search 線上介面的總結。接下來的文章就會著重在如何做出自己的搜尋頁面,與 APP Search 提供的 API 應用方法!很精彩吧哈哈,請大家繼續支持支持 XDD

Engines

在 App Search 線上介面中,我們可以創建多個Engine,Engines的頁面會呈現

  • Name : Engine名稱
  • Created : 創建日期
  • Documents : 資料筆數
  • Fields : 欄位總數
  • 管理後台 : 點擊最後方的 Manage 可以進入該 Engine 的後台
  • 刪除 : 點擊 Manage 旁邊的垃圾桶就可以刪除了!因為圖示很小,我一開始還以為是什麼上鎖功能之類的 QQ

Engines

以及點擊右上方的 Create an Engine 可以創建一個新 Engine ,以及選擇資料中出現最多的語言~ 這邊的細節前面都有提到唷!

Engines

Meta Engine

假設我有一個 Engine 是台北的寵物公園資料,以及另一個Engine是新北的寵物公園資料,我同時希望分開設定單一Engine的搜尋調整,但希望兩個Engine是可以一起被搜尋的,這時候我就需要創建Meta Engine。

首先我們需要在Engine先建立好需要被單一管理的Engine,這邊我建立了newtaipei-dogpark以及taipei-dogpark兩個Engine,裡面我個別存了三筆資料。

Engines

然後我們到Meta Engine頁面,設定你要存放兩個Engine的大Engine,怎麼這麼饒舌阿XD,直接圖解!

在Add Engines to this Meta Engine那裡選擇要加進來的Engine,這兩個Engine又稱Source Engines。填好按下Create Meta Engine!

Engines

設定好可以明顯看到層級關係啦~ Meta Engines 中是不會獨立放資料的,所以上面寫的 Documents 六筆是來自於下方兩個Source Engines唷!

Engines

什麼時候使用Meta Engine呢
前面有提到希望多個Source Engines可以分開管理搜尋設定、Relevance Tuning等等,但又希望能夠一起搜尋,並一起管理結果設定之類,總之就是想分開又想在一起,阿想在一起又想分開!分開在一起各有好處麻,阿離題了~

因為大型企業或組織,總是有各個不同的業務部門以及大量的文檔資料,因為大量複雜的資料更需要個別精細的搜尋調整,但同時又能將所有Source Engines放在一起再做Result Settings等設定,真是好棒棒啊~

不過設定Meta Engine要注意幾個重點

  • 架構統一,但也要小心型態的不同。在兩個Source Engines中有不同的欄位是可以的,但如果欄位名稱相同、型態卻設定不同,那在Meta Engine這邊是會報錯的~如果是這樣就回去更改一下Source Engines內的欄位型態,或另外取名吧

Engines

  • 在Meta Engine中做搜尋調整會影響Source Engines內的設定,但在Source Engines內做搜尋調整不會影響Meta Engine,但如果先調整Meta Engine,後調整Source Engines,那Meta Engine中的值會恢復預設。
  • 擁有Meta Engine的權限等於擁有Meta Engine加所有Source Engines的權限,但如果是擁有單一Source Engines的權限,就沒有Meta Engine以及其他Source Engines的權限

更詳細說明可以參考Meta Engines Guide

Users & Roles

在Users & Roles頁面可以開放與設定不同的權限使用Engine,最上方的Attribute Mapping有External Attribute跟Attribute Value,這邊做角色的管理與設定,以及定義方式,以下稍做說明

  • email : 很簡單就是用登入的email判斷,除了可以直接指定email,也可以設定企業email,星號代表通用,例如設定*@google.com,表示所有google帳號的人都可以擁有該權限 XD,

  • metadate : elastic 總帳號管理是在 Kibana 內設定,metadate有點是可以設定某角色群的集

  • username : 用登入elastic的username來判斷,跟前面一樣可以用統一名稱來設定

  • Role : Kibana內可以創建多個帳號密碼與角色,這邊是用對應的角色名稱來判斷

Engines

下方Role來定義角色與權限

下列角色能擁有所有Engine權限:

  • Owner : 擁有者,有所有權限

  • Admin : 管理員,除了管理帳戶外所有操作都可以使用

下列角色能個別開放Engine權限:

  • Dev : 開發人員,可以管理有關Engine的。
  • Editor : 編輯者,可以管理搜索設置。
  • Analyst : 分析者只能查看資料,查詢測試與分析。

那今天就先到這邊啦~感謝大家的閱讀!Zzzz...


上一篇
【少女人妻的30天Elastic】Day 9 : Elastic App Search_搜尋優化_趴水
下一篇
【少女人妻的30天Elastic】Day 11 : Elastic App Search_用 Search UI 做搜尋頁面_趴萬
系列文
少女人妻的30天Elastic30

尚未有邦友留言

立即登入留言