全文檢索的轉義
在全文檢索中有很多保留字元或保留詞,如果不對這些作轉義處理,則會導致查詢不準確,如:
SQL> select sku from ITEM where ITEM_TYPE='p' and contains(SKU,'CN-A64-02-398-00')>0 and rownum<10;
SKU
--------------------------------------------------------------------------------
ISRC:CN-F29-2000-0051-0/V.J9
ISRC:CN-F29-2000-0036-0/V.J9
ISRC:CN-F29-03-0103-0/V.G2
ISRC:CN-F29-03-0057-0/V.G2
ISRC:CN-F28-03-309-0/A.J6
ISRC:CN-H10-05-0047-0/V.J9
ISRC:CN-H10-05-0046-0/V.J9
ISRC:CN-H10-05-0045-0/V.J9
ISRC:CN-H03-01-0015-0/V.R
9 rows selected
實際上,這不是我們想要的結果,引起這個的原因是字串中包含'-',這個的含義是minus,這個查詢實際上等同於:
select sku from ITEM where ITEM_TYPE='p' and contains(SKU,'CN')>0
minus
select sku from ITEM where ITEM_TYPE='p' and contains(SKU,'A64')>0
........
為了得到正確的結果,我們需要對'-'進行轉義。
全文檢索的轉義有兩種方法:和{}
其中''轉義緊接著''的單個字元,{}轉義包含在'{}'的所有特殊符號。
本例可以轉換為:
SQL> select sku from ITEM where ITEM_TYPE='p' and contains(SKU,'{CN-A64-02-398-00}')>0 and rownum<10;
SKU
--------------------------------------------------------------------------------
ISRC:CN-A64-02-398-00/V.G4
SQL> select sku from ITEM where ITEM_TYPE='p' and contains(SKU,'CN-A64-02-398-00')>0 and rownum<10;
SKU
--------------------------------------------------------------------------------
ISRC:CN-A64-02-398-00/V.G4
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/231499/viewspace-63712/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle的全文檢索技術(轉)Oracle
- 配置全文檢索
- 全文檢索庫 bluge
- Kibana 全文檢索操作
- 基於ElasticSearch實現商品的全文檢索檢索Elasticsearch
- solr全文檢索學習Solr
- 全文檢索技術lucene的demo
- openGauss每日一練(全文檢索)
- oracle全文索引之配置全文檢索環境Oracle索引
- 基於Lucene的全文檢索實踐
- springboot ElasticSearch 簡單的全文檢索高亮Spring BootElasticsearch
- php + MongoDB + Sphinx 實現全文檢索PHPMongoDB
- PostgreSQL全文檢索-詞頻統計SQL
- IM全文檢索技術專題(四):微信iOS端的最新全文檢索技術優化實踐iOS優化
- ElasticSearch 實現分詞全文檢索 - 概述Elasticsearch分詞
- 【IT老齊072】全文檢索執行原理
- 沒辦法了,用 MySQL 做全文檢索也挺好的MySql
- ElasticSearch 實現分詞全文檢索 - delete-by-queryElasticsearch分詞delete
- 個人部落格分享(Laravel + Vue 元件,支援全文檢索)LaravelVue元件
- Mysql 如何實現全文檢索,關鍵詞跑分MySql
- lnmp+coreseek實現站內全文檢索(安裝篇)LNMP
- 讀書筆記:從Lucene到Elasticsearch:全文檢索實戰筆記Elasticsearch
- 在ef core中使用postgres資料庫的全文檢索功能實戰資料庫
- 【搜尋引擎】Solr全文檢索近實時查詢優化Solr優化
- Homestead 環境下安裝 Elasticsearch 並使用 scout 進行全文檢索Elasticsearch
- [轉]23個最有用的Elasticsearch檢索技巧Elasticsearch
- 在ef core中使用postgres資料庫的全文檢索功能實戰之中文支援資料庫
- DashVector + ModelScope 玩轉多模態檢索
- 【搜尋引擎】Solr Suggester 實現全文檢索功能-分詞和和自動提示Solr分詞
- Python-網頁轉義字元及正則全文匹配Python網頁字元
- EasyNLP帶你玩轉CLIP圖文檢索
- pta檢索
- ES:檢索
- 一個線上全文索引BUG的排查:關於類阿拉件數字的分詞與檢索索引分詞
- 微信團隊分享:微信移動端的全文檢索多音字問題解決方案
- KDD2020 | 揭秘Facebook搜尋中的語義檢索技術
- JavaScript 檢視全文和收起JavaScript
- 影象檢索:資訊檢索評價指標mAP指標