iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 9
0
Elastic Stack on Cloud

前端三分鐘 X Elastic Stack系列 第 9

Elastic App Search Quick Start: 用三分鐘的時間架設搜尋引擎 (9)

這篇文章會示範如何使用 Elastic App Search,App Search 是一個全文檢索的引擎,使用 Elastic Cloud 服務可以在幾分鐘內完成搜尋引擎的所有相關設定與資料匯入。

App Search 簡介

為什麼需要全文檢索引擎

  • 什麼資料如果都直接對 DB 操作,資料量到某個程度時絕對不堪負荷
  • 比起結構化的資料庫能提供更好的大海撈針能力
  • 結果的同義詞搜尋與索引權重調整等功能

解決的痛點:

  • 前後端原則上開箱即用,微調即可
  • 大海撈針的效能棒
  • 容易客製化搜尋結果,每筆搜尋結果都依分數排序,分數算法可以調整
  • 加機台更容易

App Search

每個 App Search 都是一個獨立的引擎負責:

  • 搜尋 Elasticsearch 中的資料
  • 提供 API 整合調整資料來源到 Elasticsearch
  • 提供 API 與程式或使用者介面互動

使用方式:

  • 上傳資料,這次使用的是開源的咖啡廳資料

  • 前後端都開箱即用,前端在設定好後還有 react 版本的範例程式提供下載

    先進行欄位相關的設定: 要搜尋的標題、需要篩選和排序的欄位
    https://ithelp.ithome.com.tw/upload/images/20200911/20130026iY9EiRlyKD.jpg

    UI 範例程式 Demo 與下載
    https://ithelp.ithome.com.tw/upload/images/20200911/201300261TFrHB9nwg.jpg

App Search 優化

資料上傳後 App Search 也提供了好幾種的優化方式,可以調整的部分如下

  • Schema (調整欄位的性質)
  • Synpnyms (同義詞搜尋)
  • Curation (字詞糾正)
  • Relevance(欄位權重調整)

Schema (調整欄位的性質): 預設都是 text,需要把數字跟位置設成對應格式
https://ithelp.ithome.com.tw/upload/images/20200911/20130026vEXhoBZ65p.jpg

Synpnyms (同義詞搜尋): 當搜尋的關鍵字沒有結果時,可以給那個關鍵字一個接近的字詞
譬如一夜乾找不到的話,一夜乾就可以搭配虱目魚同義詞,之後就可以得到虱目魚的相關結果
https://ithelp.ithome.com.tw/upload/images/20200911/20130026ODnSBaJJnl.jpg

Curation (字詞糾正): 有些結果不想顯示、或是想要讓某些結果顯示在前面
https://ithelp.ithome.com.tw/upload/images/20200911/20130026iYT7qfGuua.jpg

Relevance(欄位權重調整): 標題跟敘述,會希望標題吻合的分數更高
https://ithelp.ithome.com.tw/upload/images/20200911/20130026o6vCLzVMUz.jpg


上一篇
Elastic Logging X Filebeat 深入理解: Filebeat 實際運用的細節、基礎概念及相關配置教學 (8)
下一篇
Elastic Workplace Search Quick Start: 用三分鐘的時間架設工作區搜尋引擎 (10)
系列文
前端三分鐘 X Elastic Stack31

尚未有邦友留言

立即登入留言