iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 9
1
Elastic Stack on Cloud

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

【少女人妻的30天Elastic】Day 9 : Elastic App Search_搜尋優化_趴水

Aloha!又是我少女人妻Uerica!昨天在看電視的時候看到一句猶太諺語:上帝無法照顧每一個人所以創造了 "母親",嗚嗚嗚多感人的一句話,曾經有個老師提醒我,母親的愛就是上帝的愛,現在終於懂這句話的意思了,大家別忘了再忙碌也要傳傳訊息問候父母喔~


今天要來講解搜尋設定中最後一項, Result Settings 啦~,本來想說昨天就可以講完了!結果 Relevance Tuning 的部分寫得好多啊!怕大家消化不良 XD,不過大家都有試試看嗎?學習新東西最重要的就是動手嘗試瞜~

Result Settings 結果設定

結果設定的目的其實是為了提升效能,默認的搜尋會返回完整的資料,包含每個欄位與欄位內存的資料,這樣的結果會造成:

  1. 前端要做的資料處理相對繁瑣
  2. 搜尋回傳的效能差

調整前要注意,這是會影響搜尋內容與結果的唷~所有欄位還是會被搜尋的,只是調整回傳欄位與結果!

Result Settings

點進 Result Settings 會發現,左邊有一些欄位設定,分為 RAW 跟 HIGHLIGHTING ,右邊有一個 Sample Response 的搜尋區塊,我們可以看到 Query Performance 的值目前是 Delayed ,也就是目前搜尋效能是最差的

Result Settings

Query Performance 有四個值 :

  1. Optimal 敲棒!超優秀~
  2. Good 好棒棒!
  3. Standard 唉唷!不錯喔!
  4. Delayed 欸不行,弱弱的~

總之呢,我們可以從左邊的欄位調整一下,再來測看看!首先我先把不需要被回傳的欄位給勾消,但不需要回傳什麼要看前端的畫面需要哪些資料~

Raw 代表決定哪些欄位要被回傳

假設我這一頁前端的畫面只需要 place_name 、area 、 phone 、 place_desc 、 address 這五個欄位就好!我們可以看到 Query Performance 變成 Good 瞜!

Result Settings

而在 Max Size 中可以調整回傳幾個字,可調整範圍是 20 - 1000 ,而 snippet 的默認值是回傳 100 個字符

HIGHLIGHTING

再來講解到 HIGHLIGHTING 的部分,上面可以看到有 Snippet 跟 Fallback 兩個選項可以勾。

  • Snippet : 如果搜尋的字詞有包含再欄位中,會自動在字詞前後加上 <em> </em> 並回傳,是 HTML 的強調標籤,可以將其結果回傳給前端並影響前端顯示。

Result Settings

  • Fallback : 如果搜尋的字詞沒有在欄位中,Snippet 將會顯示 null ,如果前端自動抓 Snippet 欄位不就 GG 了嗎~ Fallback 會讓結果就算沒有關鍵字詞也會出現在 Snippet 欄位中~

打開後剛剛的 place_desc 就不是 null 啦~
Result Settings

今天就講解到這裡瞜~ 目前 App Search Engine 的部分都差不多啦 XD,我先來去煩惱明天要寫什麼了,感謝閱讀!掰掰~


上一篇
【少女人妻的30天Elastic】Day 8 : Elastic App Search_搜尋優化_趴兔
下一篇
【少女人妻的30天Elastic】Day 10 : Elastic App Search_用戶與帳號管理
系列文
少女人妻的30天Elastic30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言