用 Elastic 搜尋的時候,一般我們是給條件讓 Elastic 搜尋符合的資料,例如你想找 20 ~ 25 歲的會員,但有另一種情境是相反過來的,假設會員有個資料是 “你願意跟幾歲之間的人交朋友?”,這通常是兩個欄位假設是 minAge & maxAge,所以就是輸入一個年紀,搜尋有在 minAge ~ maxAge 之間的會員資料。
實務上我碰到比較頭痛的是,這兩欄資料有可能為 0 或大小值相反的情況,這樣的狀況就不能用一般的 query 去找了,只能靠 script 囉,先來看看寫法,以 php 為例:
javascript 的範例
這是一個範例,主要是描述怎麼用 script 達到我們想要的效果,應該很容易理解,如果有不同的情境,也可以調整 if 的判斷式內容喔!
發佈留言