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. 转:devise使用

    1.gem install devise 2.在gemfile中添加 gem 'devise' 3.bundle install 4.执行 rails generate devise:install ...

  2. 虚拟化 - kvm安装

    vmware centos6.5 64位 kvm虚拟化安装配置 安装 centos 64位 1.推荐配置 内存 2G 硬盘50G,或者再单独分一个磁盘,用来存储虚拟机文件 最关键的一步,在创建虚拟机时 ...

  3. AnimatorController即动画控制器创建的BUG

    //-------------------------------------------------------------------------------------------------- ...

  4. 网卡流量监控脚本 ( Python )

    #!/usr/bin/env python # coding: utf-8 # author: Xiao Guaishou try: import psutil except ImportError: ...

  5. JQuery easyUi datagrid 中 editor 动态设置最大值最小值

    前言 近来项目中使用到 easyui 来进行页面设计,感觉挺方便的,但是网上除了api外,其他有价值的资料比较少,故在此分享一点经验,供大家参考.   问题 JQuery easyUi datagri ...

  6. think in avalon

    1.不要设计,也不要通过DOM操作去改变你的页面 你用jQuery去设计一个页面,并让它动起来.这是因为jQuery就是让一切简单的事情变复杂的罪魁祸首. 但是用avalon,你必须从零开始去构思你的 ...

  7. VS2008调用VS2012的WCF服务的方式和遇到的问题

    1 用添加服务引用的懒方式 2 用http请求方式 3 客户端自己定义一个Contract,跟服务端的一样(可以只写要使用的方法,不用全部写完). 由于规范要求,前两种都不能用,后面根据同事的描述,产 ...

  8. kubernetes 集群安全配置

    版本:v1.10.0-alpha.3 openssl genrsa -out ca.key 2048 openssl req -x509 -new -nodes -key ca.key -subj & ...

  9. 40 Questions to test your skill in Python for Data Science

    Comes from: https://www.analyticsvidhya.com/blog/2017/05/questions-python-for-data-science/ Python i ...

  10. ECS 游戏架构 应用

    转载自:http://blog.csdn.net/i_dovelemon/article/details/30250049 如何在cocos2d-x中使用ECS(实体-组件-系统)架构方法开发一个游戏 ...