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 ...
随机推荐
- C++Primer笔记-----day06
================================================================day06=============================== ...
- Adjacent Bit Counts(uvalive)
For a string of n bits x1, x2, x3,…, xn, the adjacent bit count of the string (AdjBC(x)) is given by ...
- C#模板的效率问题
1,有拆装箱的情景时,可使用模板方式避免拆装箱,这时候使用模板比不使用效率要高很多. 2,无拆装箱的操作时,全部是值传递,使用模板会比使用基本类型慢一半
- $.getJSON() 回调函数没有执行的原因
$.getJSON() 方法使用 AJAX 的 HTTP GET 请求获取 JSON 数据. 语法 $.getJSON(url,data,success(data,status,xhr)) url必填 ...
- linux进阶与hadoop
Linux进阶命令: find . | ls --help | more grep ll | grep 1.txt grep -ri BASH 1.txt grep -ri BASH ...
- GameObject.Find 使用技巧
GameObject.Find是全局搜索 如果你已经知道这个元件在哪个元件里面的话,且担心场景中有重名元件,可以这样写 GameObject.Find ("Canvas/Panel/Imag ...
- 字符串查找 · Implement strStr()
[抄题]: 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始).如果不存在,则返回 -1. 如果 ...
- c/c++笔试面试试题
C 试题(纯属转载) 1.求下面函数的返回值(微软) int func(x) { int countx = 0; while(x) { countx ++; ...
- p4980 polya定理
传送门 分析 orz ymh 代码 #include<iostream> #include<cstdio> #include<cstring> #include&l ...
- Insufficient free space for journal files
前两天请假了,公司的很多app突然挂掉了,说是mongodb莫名的挂掉了,赶紧进去看了看日志: --31T14:: [initandlisten] ERROR: Insufficient free s ...