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添加搜索功能,搜索插件说明的更多相关文章

  1. 整理推荐比较好用的具有书签搜索功能的chrome插件

    平时在整理学习chrome插件的过程中,经常会去试用各种大家推荐的插件.在去年我们的一篇文章:推荐六款好用的书签收藏夹剪藏型管理插件.这里面介绍的是收藏书签的插件.而随着我们使用chrome越来越频繁 ...

  2. Hexo next主题添加站内搜索功能

    根据关键字搜索博文,站内搜索的功能很实用.hexo开启站内搜索很方便,已经有现成的插件可以使用,也是为了方便自己 安装插件 npm install hexo-generator-search --sa ...

  3. lucene3.6笔记添加搜索功能

    lucene为程序添加搜索功能,此功能基于已创建好的文档的索引之上.这里我已经为一些文档建立了索引,并保存到硬盘上.下面开始针对这些索引,添加搜索功能. 1.简单的TermQuery搜索 Java代码 ...

  4. 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 ...

  5. dgango中admin下添加搜索功能

    admin下添加搜索功能: 在表单中加入search_fields = ['ip','hostname']   可模糊匹配 当有人在管理搜索框中进行搜索时,Django将搜索查询分解成单词,并返回包含 ...

  6. layui-treeTable v2.0添加搜索功能

    layui-treeTable 添加搜索功能 在树形表格头部加一个input框: <div class="layui-inline"> <input class= ...

  7. 新蜂商城的mybatis plus版本,添加了秒杀专区、优惠卷领取以及后台搜索功能

    本项目是在newbee-mall项目的基础上改造而来,将orm层由mybatis替换为mybatis-plus,添加了秒杀功能.优惠劵功能以及后台搜索功能,喜欢的话麻烦给我个star 后台管理模块添加 ...

  8. 给 hugo 博客添加搜索功能

    起因 我的博客使用了 hugo 作为静态生成工具,自带的主题里也没有附带搜索功能.看来,还是得自己给博客添加一个搜索功能. 经过多方查找,从 Hugo Fast Search · GitHub 找到一 ...

  9. js table的笔记,实现添加 td,实现搜索功能

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

随机推荐

  1. fdsf

    https://blog.csdn.net/chen_2890/article/details/83757022Elasticsearch环境搭建和介绍(Windows) https://blog.c ...

  2. WCF配置Tcp协议

    注意点: 1,<serviceMetadata httpGetEnabled="false"/>   2,       <services>         ...

  3. java 项目的jar 反编译后 压缩回去 命令

    jar -cvfm0 123.jar    META-INF\MANIFEST.MF(配置文件第一个位置) BOOT-INF org

  4. VS2015 create a C++ console application based on WinRT

    1. Enable /ZW 2. Disable /Gm 3. #using C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcpack ...

  5. IDEA快捷键【收藏】

    Ctrl+Alt+L 格式化代码Ctrl+Shift+J 两行合成一行,删去不必要的空格匹配代码格式其他快捷键:[常规]Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 ...

  6. DDA算法

    [DDA算法] Digital Differential Analyzer,DDA算法是一种线段扫描转换算法.(线段光栅化算法) DDA算法优缺点: 1.消除了直线方程中的乘法计算,而在x.y方向使用 ...

  7. 523. Continuous Subarray Sum是否有连续和是某数的几倍

    [抄题]: Given a list of non-negative numbers and a target integer k, write a function to check if the ...

  8. 从计算框架MapReduce看Hadoop1.0和2.0的区别

    一.1.0版本 主要由两部分组成:编程模型和运行时环境. 编程模型为用户提供易用的编程接口,用户只需编写串行程序实现函数来实现一个分布式程序,其他如节点间的通信.节点失效,数据切分等,则由运行时环境完 ...

  9. Spring中通配符(转)

    一.加载路径中的通配符:?(匹配单个字符),*(匹配除/外任意字符).**/(匹配任意多个目录) classpath:app-Beans.xml 说明:无通配符,必须完全匹配   classpath: ...

  10. Python3 urllib.parse 常用函数示例

    Python3 urllib.parse 常用函数示例 http://blog.51cto.com/walkerqt/1766670  1.获取url参数. >>> from url ...