iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 30
2
Elastic Stack on Cloud

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

【少女人妻的30天Elastic】Day 30 : App Search_API 介紹與應用_Synonyms

Aloha!我是少女人妻 Uerica!這篇是最後一篇了,雖然沒有寫到很深,但對搜尋引擎真的有多了一層很深的認識,三十天來也算進步很多吧?哈哈。當然我跟老公感情也更好拉~(笑),然後也感謝看我文章的各位!看到瀏覽人數也是我動力來源之一,本人只是個默默在廚房經營小世界還有接接案的人妻一枚,能夠有機會給點產出也是滿開心搭~

工商時間
想認識深深的 ElasticSearch 可以去看 喬叔帶你上手Elastic Stack系列

另外喬叔還有開課喔!請洽 uerica@onedoggo.com

想運用 ElasticSearch 做分析台股跟程式交易可以去看 Elastic 戰台股系列


Synonyms API 同義詞

最後就跟大家聊一下 Synonyms 的 API 運用方法吧~,可以先去看這篇Elastic App Search_搜尋優化_趴萬了解一下 Synonyms 的設定與用法

認證方式

curl -X GET '{API_Endpoint}/api/as/v1/engines/{ENGINE_NAME}/synonyms' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer private-xxxxxxxxxx' \

List Synonyms 列出同義詞 GET

List All Sets of Synonyms

列出所有同義詞

page (optional) : 回傳當前頁面 current 、結果總頁數 total_pages 、結果總筆數 total_results 、每頁最大筆數限制 size (預設為25筆)

用GET,不帶參數

curl -X GET '{API_Endpoint}/api/as/v1/engines/{ENGINE_NAME}/synonyms' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer private-xxxxxxxxxx' \
-d ''

Listing All Synonyms with Pagination

指定回傳的頁數與筆數

curl -X GET '{API_Endpoint}/api/as/v1/engines/{ENGINE_NAME}/synonyms' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer private-xxxxxxxxxx' \
-d '{
  "page": {
    "size": 20,
    "current": 2
  }
}'

Listing a Single synonyms

回傳指定id的策展資料

用 GET 方法,帶入id不需參數,回傳指定的策展資料

curl -X GET '{API_Endpoint}/api/as/v1/engines/{ENGINE_NAME}/synonyms/[SYNONYM_SET_ID]' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer private-xxxxxxxxxx' \
-d ''

Create a Synonyms Set 創建同義詞集 POST

為 engine 創建新的同義詞集,每個 API call 只能創建一組同義詞集,同義詞集最多可包含32個單詞

用 POST 創建同義詞集

curl -X POST '{API_Endpoint}/api/as/v1/engines/{ENGINE_NAME}/synonyms' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer private-xxxxxxxxxx' \
-d '{
  "synonyms": ["park", "trail"]
}'

範例回傳結果

{
  "id": "syn-5b11ac72c9f9296b35220ac9",
  "synonyms": [
    "park",
    "trail"
  ]
}

Update a Synonyms Set 更新同義詞集 PUT

synonyms (required) : 至少包含兩個同義字詞

用 PUT 更新同義詞集

curl -X PUT '{API_Endpoint}/api/as/v1/engines/{ENGINE_NAME}/synonyms/[SYNONYM_SET_ID]' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer private-xxxxxxxxxx' \
-d '{
  "synonyms": ["road", "trail"]
}'

Delete a synonyms 刪除同義字詞 DELETE

用 DELETE 刪除指定id的同義字詞

curl -X DELETE '{API_Endpoint}/api/as/v1/engines/{ENGINE_NAME}/synonyms/[SYNONYM_SET_ID]' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer private-xxxxxxxxxx' \
-d ''

感謝忙碌的兩位老司機願意陪伴我一起來30天爆肝鐵人賽,讓我親眼看到兩位高手的心智有多堅強 XD ,下一屆..恩在說好了哈哈哈


上一篇
【少女人妻的30天Elastic】Day 29 : App Search_API 介紹與應用_Curations
系列文
少女人妻的30天Elastic30

2 則留言

0
Anson
iT邦新手 2 級 ‧ 2021-03-17 15:40:23

看完了三十篇,但都只看前言(sorry..),前言實在讓人心情好放鬆,呵,謝謝你。

啊哈!感謝支持~想深入學習,可以看看喬叔與戰台股的系列文章喔~

【**此則訊息已被站方移除**】

我要留言

立即登入留言