Aloha!又是我少女人妻 Uerica!這陣子幫家裡的狗女兒增添了很多玩具,我買了網路很紅的扭扭魚,原本幻想她會愉快捕魚,結果因為扭扭魚一碰就狂扭,我家狗狗不但討厭還一臉鄙視,完全沒扭到她心坎 QQ ,反而是老公買的寵物益智遊戲,我看了都覺得超難,她反而很喜歡...
還記得前面有講到 Highlights 的調整嗎,這邊是用 API 來做改變搜尋後結果欄位值的呈現方式,有兩種方式呈現 text 的欄位值
<em>
標籤,表示強調raw 預設回傳字串所有字元,字元最大值無限制,但最少要20 字元。 snippet 預設回傳 100 字元,字定義需介於 20 - 1000 字元之間。
如果result_fields
未提供參數, API 將回傳資料原始值
搜尋後結果的回傳值字元設定,預設回傳所有值,結果可以是字串或數字,或 array 形式回傳。
curl -X POST '{API_Endpoint}/api/as/v1/engines/{ENGINE_NAME}/search' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer search-xxxxxxxxxx' \
-d '{
"query": "花蓮",
"result_fields": {
"place_name": {
"raw": {}
},
"place_desc": {
"raw": {
"size": 20
}
}
}
}'
如果搜尋的字詞有包含再欄位中,會自動在字詞前後加上 <em> </em>
並回傳,是 HTML 的強調標籤,可以將其結果回傳給前端並影響前端顯示。如果沒有找到匹配的字詞, snippet 會顯示 null。
size (optional) : 指定回傳值的字元長度,字元長度至少為 20,snippet 回傳字元預設為 100。
fallback (optional) : 如果搜尋的字詞沒有在欄位中,Snippet 將會顯示 null ,如果前端自動抓 Snippet 欄位不就 GG 了嗎, Fallback 會讓結果就算沒有關鍵字詞也會出現在 Snippet 欄位中!
curl -X POST '{API_Endpoint}/api/as/v1/engines/{ENGINE_NAME}/search' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer search-xxxxxxxxxx' \
-d '{
"query": "花蓮",
"result_fields": {
"place_name": {
"raw": {}
},
"place_desc": {
"snippet": {
"size": 20,
"fallback": true
}
}
}
}'
好啦~今天就先聊到這邊!感謝大家閱讀~2020最後一個連假來臨了!祝福大家都能過得愉快有意義喔!