美文网首页
Elasticsearch 特殊字符搜索

Elasticsearch 特殊字符搜索

作者: 杍劼 | 来源:发表于2018-01-03 17:26 被阅读226次

    1.首先把需要使用特殊字符搜索的索引配置成不分析索引:

    'item_no'=>['type'=>'string','index'=>'not_analyzed'],

    2.在搜索关键词过来的时候先把关键词里面的特殊字符追加反斜杠:

    reborn(API)里面已经添加了一个公用方法 - filterSpeicalCharacters() ** 这里要特别注意的一个事情就是, 如果你使用了mysql的like查询, 那这个字符替换必须要在mysql查询之前替换

    用进货单查询为例子

    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();

    相关文章

      网友评论

          本文标题:Elasticsearch 特殊字符搜索

          本文链接:https://www.haomeiwen.com/subject/ahqknxtx.html