麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > CMS > PhpCMS > 正文

phpcms2008 search 全文搜索模塊說明

2024-09-10 07:16:07
字體:
來源:轉載
供稿:網友

search 模塊是用于支持對 cms 中允許進行全文搜索的內容進行全文搜索。

全文搜索的內部實現是使用 MySQL MyISAM 表的全文搜索索引,數據表為 search(eg. phpcms2008_search).

search 表只有三個字段:searchid,type,data.

searchid 是自動編號主鍵,type 表示內容的類型,比如是屬于新聞還是屬于產品等,data 是加了全文搜索索引的字段,字段值為被被分詞后的內容.

一篇文章內容可以被全文搜索的流程是這樣的:

內容主表(content)建有 searchid 字段,與 search 表的 searchid 字段關聯,一篇文章在 search 表的 type 字段值就是文章所屬模型的表名,如模型表名為 phpcms2008_c_news 則模型文章的全文搜索 type 字段值為 news.

執行添加文章的代碼是 /include/admin/content.class.php 的 add() 方法,里面調用 log_write() 方法,log_write 調用 search_api 方法,search_api 方法就是建立全文搜索索引的.

search_api 方法會根據文章是否有 searchid 字段值決定是新加還是更新 search 表的記錄,添加文章時因為沒有 searchid 字段值,所以必定是添加 search 表的記錄,再根據文章 status 狀態值決定是添加或更新全文搜索數據還是刪除全文搜索數據,當文章非審核通過狀態時執行的便是刪除全文搜索數據.

若是添加或更新,下面簡稱為寫入,全文搜索時,會把需要搜索的內容查出,比如文章標題,文章內容,文章關鍵詞等.

之后便調用 search 模塊的接口 /search/include/search.class.php 的 add() 方法,更新時為 update() 方法,寫入全文搜索數據,并把接口返回的 searchid 寫到此文章的 searchid 字段值中.

在 /search/include/search.class.php 的 add() 方法中,會把全文搜索內容進行分詞,保存到 search 表的 data 字段中,再把作為數組類型保存的文章原始數據緩存到 /search/data/ 目錄中.

當前臺用戶提交全文搜索請求時,先從 search 表查出符合條件的記錄的 searchid, type 值,然后讀取對應的 /search/data/ 緩存數據,便可在頁面顯示搜索結果.

一般搜索結果頁需要顯示結果的標題,url,簡單,圖片這些基本信息,所以每條全文搜索數據都會把結果頁顯示用到的信息緩存到 /search/data/ 的緩存文件中.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美在线成人影院 | 91网站免费观看 | 国产精品久久久久影院老司 | 中国美女一级黄色片 | 亚洲精品自在在线观看 | 日韩视频中文 | 久久不雅视频 | 成人男男视频拍拍拍在线观看 | 欧美成在人线a免费 | 久久国产午夜 | 中文字幕在线免费观看电影 | 欧美a∨亚洲欧美亚洲 | 国产精品区一区二区三区 | 亚洲午夜精品视频 | 欧美人与牲禽动交精品一区 | 成人福利视频导航 | 国产精品国产三级国产在线观看 | 精品国产一区二区三区久久久 | 欧美一区二区三区久久精品视 | 婷婷中文字幕一区二区三区 | 精品一区二区三区免费 | 全黄裸片武则天一级第4季 偿还电影免费看 | 羞羞答答tv | 欧美交在线 | 中国性xxx| 久久久99精品视频 | 欧美日韩一区二区综合 | 超碰97最新 | 在线观看国产网站 | 国产精品久久久久久久久久东京 | 国产高清自拍一区 | 日日草天天干 | 国产精品自在线拍 | 国产成人在线观看免费 | 国产精品视频免费在线观看 | 午夜视频大全 | 91精品国产九九九久久久亚洲 | 亚洲第九十九页 | 成人永久免费视频 | 欧美三日本三级少妇三级99观看视频 | 一区二区三区视频在线观看 |