1.首先把需要使用特殊字符搜索的索引配置成不分析索引:
'item_no'=>['type'=>'string','index'=>'not_analyzed'],
2.在搜索關(guān)鍵詞過來的時(shí)候先把關(guān)鍵詞里面的特殊字符追加反斜杠:
reborn(API)里面已經(jīng)添加了一個(gè)公用方法 -?filterSpeicalCharacters()?** 這里要特別注意的一個(gè)事情就是, 如果你使用了mysql的like查詢, 那這個(gè)字符替換必須要在mysql查詢之前替換
用進(jìn)貨單查詢?yōu)槔?/p>
filterSpeicalCharacters($search);// 在特殊字符前加反斜杠
$suppliers = Supplier::find()->select("supplier_id, supplier_name")->where(['or',['like','supplier_name',$search],['like','all_letter',$search],['like','linker_all_letter',$search]])->asArray()->all();