最近用科讯的搜索功能,感觉很不好,搜索结果总是不符合关键字的要求,自己研究了半天,最后才知道,原来科讯默认搜索时吧关键字差分成2个字然后才查询,比如搜索“我的网站”,科讯系统会吧他拆分为“我的”,“的网”,“网站”,然后用三个条件同时查询,所以导致最后的查询结果不准确,那么怎么修改这个问题呢,我研究了好久,现在我吧我的修改办法写下来,供遇到同样问题的朋友做个参考:
首先打开\Plus\search\index.asp这个文件,找到Sub InitialSearch()这个过程,里面有这样一段:If Not KS.IsNul(Key) Then
select case stype
case 100
if IsDate(Key) Then
If CInt(DataBaseType) = 1 Then
Param=Param & " And AddDate>='" & Key & " 00:00:00' and AddDate<='" &Key & " 23:59:59'"
else
Param=Param & " And AddDate>=#" & Key & " 00:00:00# and AddDate<=#" &Key& " 23:59:59#"
end if
End If
case 2
……………………
case else
Dim KeyParam
KeyParam=AutoKey(key,"Title")
If KeyParam<>"" Then
Param=Param & " And " & KeyParam
End If
end select
问题就出在这里,科讯的文章查询,有标题查询,内容查询等,可是这里少了一个CASE 1也就是标题查询,所以我们每次查询的时候都转到CASE else ,但是CASE ELSE里面用到一个函数AutoKey(key,"Title")这个函数的作用就是吧关键字拆分开来,然后进行查询,导致最终结果不正确,所以我们只需要给原程序加一个CASE 1的条件查询,就可以解决这个问题,以下是我加的程序,测试过很多次,绝对没有问题,大家可以参考:select case stype
case 1
Param=Param & " And title Like '%" & trim(Key) & "%'"
case 100
if IsDate(Key) Then
红色的部分是要添加的部分,加完以后保存,运行程序,OK,成功了!