ZKEACMS添加搜索功能,搜索插件说明
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
ZKEACMS添加搜索功能,搜索插件说明的更多相关文章
- 整理推荐比较好用的具有书签搜索功能的chrome插件
平时在整理学习chrome插件的过程中,经常会去试用各种大家推荐的插件.在去年我们的一篇文章:推荐六款好用的书签收藏夹剪藏型管理插件.这里面介绍的是收藏书签的插件.而随着我们使用chrome越来越频繁 ...
- Hexo next主题添加站内搜索功能
根据关键字搜索博文,站内搜索的功能很实用.hexo开启站内搜索很方便,已经有现成的插件可以使用,也是为了方便自己 安装插件 npm install hexo-generator-search --sa ...
- lucene3.6笔记添加搜索功能
lucene为程序添加搜索功能,此功能基于已创建好的文档的索引之上.这里我已经为一些文档建立了索引,并保存到硬盘上.下面开始针对这些索引,添加搜索功能. 1.简单的TermQuery搜索 Java代码 ...
- 011.Adding Search to an ASP.NET Core MVC app --【给程序添加搜索功能】
Adding Search to an ASP.NET Core MVC app 给程序添加搜索功能 2017-3-7 7 分钟阅读时长 作者 本文内容 1.Adding Search by genr ...
- dgango中admin下添加搜索功能
admin下添加搜索功能: 在表单中加入search_fields = ['ip','hostname'] 可模糊匹配 当有人在管理搜索框中进行搜索时,Django将搜索查询分解成单词,并返回包含 ...
- layui-treeTable v2.0添加搜索功能
layui-treeTable 添加搜索功能 在树形表格头部加一个input框: <div class="layui-inline"> <input class= ...
- 新蜂商城的mybatis plus版本,添加了秒杀专区、优惠卷领取以及后台搜索功能
本项目是在newbee-mall项目的基础上改造而来,将orm层由mybatis替换为mybatis-plus,添加了秒杀功能.优惠劵功能以及后台搜索功能,喜欢的话麻烦给我个star 后台管理模块添加 ...
- 给 hugo 博客添加搜索功能
起因 我的博客使用了 hugo 作为静态生成工具,自带的主题里也没有附带搜索功能.看来,还是得自己给博客添加一个搜索功能. 经过多方查找,从 Hugo Fast Search · GitHub 找到一 ...
- js table的笔记,实现添加 td,实现搜索功能
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
随机推荐
- Delphi IOS 后台定时器
3.这里有一个问题,就是客户端是通过心跳来和服务端保持连接,心跳是由定时器触发的,当我退到后台以后,定时器方法被挂起,那么通过如下设置来在后台运行定时器 beginBackgroundTaskWith ...
- python:窗口化和制作图形
#圆 from tkinter import * canvas = Canvas(width=800, height=600, bg='yellow')#声明窗口属性 canvas.pack(expa ...
- IDEA快捷键【收藏】
Ctrl+Alt+L 格式化代码Ctrl+Shift+J 两行合成一行,删去不必要的空格匹配代码格式其他快捷键:[常规]Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 ...
- module 'tensorflow.contrib.rnn' has no attribute 'core_rnn_cell'
#tf.contrib.rnn.core_rnn_cell.BasicLSTMCell(lstm_size) tf.contrib.rnn.BasicLSTMCell(lstm_size)
- iOS端一次视频全屏需求的实现(转)
对于一个带有视频播放功能的app产品来说,视频全屏是一个基本且重要的需求.虽然这个需求看起来很简单,但是在实现上,我们前后迭代了三套技术方案.这篇文章将介绍这三种实现方案中的利弊和坑点,以及实现过程中 ...
- zabbix结合grafana
一.下载grafana 下载地址: http://docs.grafana.org/installation/rpm/ https://s3-us-west-2.amazonaws.com/grafa ...
- spring4-3-AOP-AspectJ注解-01-简单使用
1.引入类库 <dependency> <groupId>org.springframework</groupId> <artifactId>sprin ...
- How to Get the Length of File in C
How to get length of file in C //=== int fileLen(FILE *fp) { int nRet = -1; int nPosBak; nPosBak = f ...
- UML建模之类图
UML类间关系的种类 从一个示例开始 请看以下这个类图,类之间的关系是我们需要关注的: 车的类图结构为<<abstract>>,表示车是一个抽象类: 它有两个继承类:小汽车和自 ...
- Android中的Handler介绍
一.Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控 ...