您的位置:首页> 日志> 动易系统 正文

一、前言:

    事先说明,此内容面向对动易系统搜索有一定基础人员观看,如果你是小白,你摸清系统后再看会收获颇多!

    记得哥N年前写过一个“打败搜索之:全站按模型搜索”,当时分析了默认搜索的弊端,并提出了改进思路和实施方案,但感觉还是不能完全满足需求。在这基础上哥再进行了改进,加入了节点筛选功能,并提供例子详解。还,还,还,还,还分上下2篇文章详尽地说明从前台表单提交到模板、标签使用,彻底全方位攻陷搜索。


这是上篇,先讲解标签使用。
下个月写下篇,标题暂定“全方位解决搜索下篇 -- 表单提交/JS下拉及讲解等”。敬请期待。
 

二、“全站搜索按标题”经过哥n次修改后,已面目全非,参数如下:

参数 默认值 说明
titleLength 50 标题长度,一个汉字占两个字节
nodes 0 节点id,0为全站;可以传多个节点,例如:1,32,45
outputQty 20 每页显示条数
searchModel notIn 是否搜索模型,结合models使用。可选in/notIn
models 0 搜索的模型id,用逗号隔开,例如 1,33


这里主要说 searchModel和models的联动使用
searchModel="notIn"代表不搜索那些模型
searchModel="in"代表只搜索那些模型

于是有:
searchModel="notIn" models="0" 全站搜索
searchModel="notIn" models="1,2" 不搜索模型1和2
searchModel="in" models="1,2" 只搜索模型1和2

什么时候需要用到“不搜索某些模型呢?”

有时候全站搜索会把“友情链接”、“留言”、“评论”等模型的信息都搜索出来,而这些通常来说不是用户的需要,所以此时我们可以通过 searchModel="notIn" models="xx,xx" 来排除某些不需要搜索的模型。


三、实际例子:

1、全站搜索:
/search.aspx?searchModel=notIn&models=0&nodes=0&Keyword=关键词

2、指定搜索 模型1:
/search.aspx?searchModel=in&models=1&nodes=0&Keyword=关键词

3、指定搜索 模型1和模型2:
/search.aspx?searchModel=in&models=1,2&nodes=0&Keyword=关键词

4、指定搜索 节点1和节点34:
/search.aspx?searchModel=notIn&models=0&nodes=1,34&Keyword=关键词

5、指定搜索 模型1和模型2 并且 指定节点1和34:
/search.aspx?searchModel=in&models=1,2&nodes=1,34&Keyword=关键词

6、不搜索 模型4和模型7:
/search.aspx?searchModel=notIn&models=4,7&nodes=0&Keyword=关键词

 

四、使用和下载:

文件下载后分别放置如下:
\标签库\搜索类\全站搜索按标题.config
\标签库\样色类\全站搜索按标题_普通式.config
\模板\其他模板\搜索页模板.html

根目录/Config/QueryStrings.config找到<page url="~/Search.aspx">并添加允许参数:
<param name="searchModel" datatype="String" optional="true" />
<param name="models" datatype="String" optional="true" />
<param name="nodes" datatype="String" optional="true" />

>>文件下载

 

四、结语:

我相信日后大部分情况下只需用这个标签就能满足客户需求。
当前此标签也有缺点,就是只能搜标题。这无办法,系统数据库限制了。
希望能帮到大家。