Elasticsearch 特殊字符搜索

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch 特殊字符搜索相关的知识,希望对你有一定的参考价值。

参考技术A 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 特殊字符搜索的主要内容,如果未能解决你的问题,请参考以下文章

ElasticSearch搜索实例含高亮显示及搜索的特殊字符过滤

Elastic:如何使用 Elasticsearch PHP 客户端创建简单的搜索引擎

Elastic:如何使用 Elasticsearch PHP 客户端创建简单的搜索引擎

Elasticsearch:如何在 Elastic 中实现图片相似度搜索

Elastic Stack(ElasticSearch Kibana 和 Logstash) 实现日志的自动采集搜索和分析

全文搜索引擎 Elasticsearch