頁面的索引主要是運用了MsSql的全文索引,如果你還不瞭解全文索引,可以使用以下鏈接來瞭解全文索引的相關知識 https://docs.microsoft.com/zh-cn/sql/relational-databases/search/full-text-search ...
ZKEACMS預設是不支持搜索功能的。但是搜索功能是比較常用的一個功能,使用這個搜索插件,可以讓CMS支持搜索:
如下圖所示:
資料庫 Microstft Sql Server 2008R2 以上
頁面的索引主要是運用了MsSql的全文索引,如果你還不瞭解全文索引,可以使用以下鏈接來瞭解全文索引的相關知識 https://docs.microsoft.com/zh-cn/sql/relational-databases/search/full-text-search
目前僅支持MsSql資料庫,如果正好你不是使用MsSql資料庫的話,也沒有關係,它將很容易改造成與資料庫無關的 Elasticsearch 或者 Solr 或者其它的搜索組件。或者使用對應資料庫的全文索引。我們只是做好了一個腳手架。
初始化資料庫
資料庫腳本在目錄DbScripts下。全文索引資料庫,可以直接創建在CMS數據下,或者另外建一個資料庫用於存儲頁面的索引數據。
dbo.WebPages.Table.sql
這個腳本用於創建WebPages表並對該表創建一個中文的全文索引。如果不是用獨立索引資料庫,這個腳本可直接在CMS資料庫中執行。如果要用獨立的資料庫,手動創建數據後,在新的資料庫中執行該腳本即可。
dbo.CMS_WidgetTemplate.sql
這個腳本在CMS資料庫中執行。用於添加一個搜索的組件。
配置 appsettings.json
這個是搜索插件的配置文件
ConnectionString 索引資料庫的連接字元串
Command dotnet命令,如果沒有設置Path或是Linux,可能需要設置完整的dotnet路徑
Host 功能變數名稱或者是某個頁面的地址,搜索插件中的爬蟲將會爬該功能變數名稱下或頁面下的所有鏈接都索引起來。
索引頁面
在搜索插件開始使用之前,需要先索引全部的頁面。
方式一
在後臺的 全站搜索 目錄下點擊 開始索引 按鈕。註意先給角色添加許可權。
方式二(推薦)
由於頁面的內容是在不斷變化的,所以需要定時更新索引的頁面內容。搜索插件,其實也是一個完整的.net core程式,可以使用dotnet命令來運行。 dotnet ZKEACMS.Search.dll
。這樣一來,就可以添加一個計劃任務,來定時啟動這個搜索索引程式。註意配置文件(appsettings.json)要在同一目錄下。如果是開發環境,可以直接滑鼠右鍵->調式->啟動新的實例來啟動爬蟲程式。
開始搜索
編輯你的任意頁面,或者添加一個頁面。然後往頁面中添加搜索插件。
插件源代碼
https://github.com/SeriaWei/ZKEACMS.Core/tree/search/src/ZKEACMS.Search
源文鏈接:http://www.zkea.net/zkeacms/extend/detail/post-149