發(fā)布時間:2025-05-19 14:59:02
歷史文章集合(累積490+)《 國內最全的SpringBoot系列之一》《 國內最全的SpringBoot系列之二》《 國內最全的SpringBoot系列之三》《 國內最全的SpringBoot系列之四》《 國內最全的SpringBoot系列之五》
《 國內最全的Spring Boot系列之六》
《Mybatis-Plus通用枚舉功能 [MyBatis-Plus系列] - 第493篇》
《Mybatis-Plus自動填充功能配置和使用 [MyBatis-Plus系列] - 第494篇》「值得收藏學習」
悟纖:哎,頭發(fā)都白了~
師傅:徒兒這是怎么了?
悟纖:最近發(fā)現mysql的like “%sprinboot%” 查詢很慢呢?
師傅:徒兒,你這是全表掃描了,在數據量大的情況下,確實查詢會比較慢。
悟纖:師傅,那這個怎么辦,這個搜索功能少不了呀。
師傅:這個師傅就要用到搜索引擎了。
悟纖:那師傅,你趕緊教教我這個技能呢。
師傅:為師正有這個打算。
悟纖:那真是太好了。開干?。。。。?!
全文檢索導讀
大家好,我是悟纖。學習ElasticSearch之前,要先理解全文檢索的基本概念。
一、什么是全文檢索
全文檢索是一種在大量文本數據中快速查找特定關鍵詞或短語的技術,能夠返回相關的搜索結果。
(1)查詢有明確的搜索條件,如年齡、顏色、價格等范圍界定。
(2)檢索無搜索條件邊界,結果取決于相關性,涉及同義詞、諧音、別名、錯別字、網絡熱梗等。
二、用傳統(tǒng)數據庫實現搜索的問題
使用MySQL存儲文章時,使用內容像“%Java設計模式%”這樣的查詢會導致全表掃描,效率低下且結果不符合期望。
三、全文檢索的原理
全文檢索涉及文本處理、建立索引和搜索結果排序。通過分詞、去除停用詞等預處理,建立倒排索引,快速定位相關文檔。
倒排索引是全文檢索中的關鍵結構,用于記錄單詞與文檔的關系,實現快速搜索。
四、正排索引與倒排索引的區(qū)別
正排索引按文檔順序排列,適合整體檢索,但存儲和查詢效率受限于大量文本數據。
倒排索引以單詞為索引鍵,記錄在哪些文檔中出現,適用于大規(guī)模文本數據的關鍵詞搜索和相關性排序。
建立關鍵詞與文章的對應關系表即為倒排索引。
總結
全文檢索技術在信息管理、搜索應用中發(fā)揮重要作用。了解其原理和不同索引結構的特性,有助于提升搜索性能和準確性。