功能函數項
外掛程式功能函數可以用在filter子句作為過濾和篩選條件,而傳回值為數值型的功能函數在sort子句中,用來做排序。
其中功能函數參數出現的文檔欄位需根據對應函數文檔提示,建立為索引或屬性.
multi_attr : 返回數組欄位指定位置的值
1.詳細用法:
multi_attr(field, pos, default_value=0|””)
2.參數:
field: 查詢的欄位名,必須為ARRAY數群組類型,且必須配置為屬性欄位pos: 整型常數或整型欄位,需要配置為屬性欄位,下標從0開始。default_value(排序得分):可選,字串常量,表示如果指定pos的值不存在時,返回default_value。
3.傳回值:
當指定pos的值存在時,返回對應數組pos下標位置的值;
當指定pos的值不存在時並且沒有設定default_value參數時,返回0;
當指定pos的值不存在時並且設定default_value參數時,返回default_value值;
4.適用情境:
情境1:商品有多個價格[市場價、折扣價、銷售價],存到prices欄位中。查詢銷售價小於1000的手機
query=deault:'手機'&&filter=multi_attr(price,2)<1000
情境2:商品有多個價格[市場價、折扣價、銷售價],存到prices欄位中。查詢出來的結果排序按折扣價升序排序,如果折扣價不存在或prices欄位為空白,則賦予預設值600。
query=deault:'手機'&&sort=+multi_attr(price,1,"600")
5.注意事項:
函數參數依賴欄位需建立為屬性;
當設定default_value時,需要將具體的內容放在雙引號中;