账号通
    

账号  

密码  

3255

查看

11

回复
主题:求助 V4.5 搜索的修改 [收藏主题] 转到:  
zhenfengdz 当前离线

3821

主题

0

广播

1

粉丝
添加关注
级别:大三

用户积分:21733 分
登录次数:436 次
注册时间:2007/1/9
最后登录:2013/4/24
zhenfengdz 发表于:2007/12/24 8:40:00   | 只看该作者 查看该作者主题 楼主 
科汛在线商城系统(NET)

4.5关键字关联搜索现在是这样,搜索两个词,有其中之一的、两者都有的,都搜索出来。

我想改成只有两者都有的,请问怎么改?


[此贴子已经被作者于2007-12-24 14:32:27编辑过]

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
gxda112 当前离线

194

主题

1

广播

2

粉丝
添加关注
级别:一年级

用户积分:4384 分
登录次数:295 次
注册时间:2007/7/30
最后登录:2016/12/15
gxda112 发表于:2007/12/24 15:48:00   | 只看该作者 查看该作者主题 沙发 
做在线知识付费 选科汛云开店

给楼主两个函数,自己修改搜索代码吧。这是我开发的一个系统中用到的。用空格模糊匹配多个关键词,用+号同时匹配多个关键词。两个可以同时使用。

function keyword(str)
arrstr=split(str," ") '将输入的字符串根据空格分开,获得一个数组
max=ubound(arrstr) '得出这个数组的维数,即输入的关键字个数

if max=0 then '如果max等于0说明只输入了一个关键字,那么就不需要循环处理
sql1=sql1&" 节目名称 like '%" & replace(arrstr(i),"+","%") & "%' " '节目名称模糊搜索
else '如果含有多个关键字,采用循环处理sql语句
for i=0 to max '如果关键字很多,我们要求每一个搜索都要匹配每一个关键字,通过循环来实现
if i=0 then '写入下面sql语句作为开头,仔细研究一下下面的代码
sql1=sql1&" 节目名称 like '%" & replace(arrstr(i),"+","%") & "%' or " '节目名称模糊搜索

else
if i=max then '如果循环到最后一个关键字,写入下面sql语句作为结尾

sql1=sql1&" 节目名称 like '%" & replace(arrstr(i),"+","%") & "%' " '节目名称模糊搜索

else '如果关键自己不是开头的也不是结尾的,那么循坏写入下面的sql语句

sql1=sql1&" 节目名称 like '%" & replace(arrstr(i),"+","%") & "%' or " '节目名称模糊搜索
end if
end if
next '循环结束
end if
sql=sql&" and ("&sql1&")"
keyword=sql
end function
function redword(str,vt) '将查询的关键字红色输出
if str="" then
redword=vt
exit function
end if
str=replace(str,"+"," ")
arrstr1=split(str," ") '将输入的字符串根据空格分开,获得一个数组
max=ubound(arrstr1) '得出这个数组的维数,即输入的关键字个数
for i=0 to max
vt=replace(vt,arrstr1(i),"<font color=red>"&arrstr1(i)&"</font>")
next
redword=vt
end function

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zhenfengdz 当前离线

3821

主题

0

广播

1

粉丝
添加关注
级别:大三

用户积分:21733 分
登录次数:436 次
注册时间:2007/1/9
最后登录:2013/4/24
zhenfengdz 发表于:2007/12/24 16:26:00   | 只看该作者 查看该作者主题 藤椅 
做在线知识付费 选科汛云开店

好东西,收藏先。多谢楼上朋友!

暂时简单改了一下,也算成,就这个效果:


此主题相关图片如下:名.gif
名.gif

[此贴子已经被作者于2007-12-24 16:52:15编辑过]

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
yashuk 当前离线

206

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:1768 分
登录次数:76 次
注册时间:2007/12/16
最后登录:2012/10/15
yashuk 发表于:2007/12/24 14:40:00   | 只看该作者 查看该作者主题 板凳 
科汛在线网校系统

开发可以 加符号如引号,让要准确搜索的内容方在符号内。“搜索内容”这样

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zhenfengdz 当前离线

3821

主题

0

广播

1

粉丝
添加关注
级别:大三

用户积分:21733 分
登录次数:436 次
注册时间:2007/1/9
最后登录:2013/4/24
zhenfengdz 发表于:2007/12/24 14:39:00   | 只看该作者 查看该作者主题 报纸 
关联搜索结果无法进入下一页的BUG已经提交过了。
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zhenfengdz 当前离线

3821

主题

0

广播

1

粉丝
添加关注
级别:大三

用户积分:21733 分
登录次数:436 次
注册时间:2007/1/9
最后登录:2013/4/24
zhenfengdz 发表于:2007/12/24 14:38:00   | 只看该作者 查看该作者主题 地板 
科汛在线网校系统
还有搜索这样标题的文章:CANON S100SP清零,所有CANON都出来了,非常多。
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zhenfengdz 当前离线

3821

主题

0

广播

1

粉丝
添加关注
级别:大三

用户积分:21733 分
登录次数:436 次
注册时间:2007/1/9
最后登录:2013/4/24
zhenfengdz 发表于:2007/12/24 14:37:00   | 只看该作者 查看该作者主题 7楼 
科汛在线网校系统

原来没想那么多,实际使用发现,现在4.5这种关联需要改一下,因为关联了之后结果不是更精确了而是更宽泛了,难以准确定位到要找的文章。比如单个关键词搜索出来100条,关联之后出来可能是300条,更难找了。

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zhenfengdz 当前离线

3821

主题

0

广播

1

粉丝
添加关注
级别:大三

用户积分:21733 分
登录次数:436 次
注册时间:2007/1/9
最后登录:2013/4/24
zhenfengdz 发表于:2007/12/24 11:09:00   | 只看该作者 查看该作者主题 8楼 
做在线知识付费 选科汛云开店

4.5搜索和4.0及以前版本有相同也有不同,相同的就是只搜索一个词,这个就不说了。

只说不同之处,就是两个词(三个及以上没试过)中间加空格,这样关联搜索,比如搜索“海尔 空调”,包含海尔这一个词的、空调这一个词的、两个词都有的,都搜索出来。

我发现这样关联结果出来太多了,想改成只搜索出来两个词都有的。

再换句话说:只要两个词都有的关联搜索结果,只有其中一个词的不要。

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
xjin 当前离线

247

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:2356 分
登录次数:197 次
注册时间:2007/4/4
最后登录:2010/4/21
xjin 发表于:2007/12/24 10:49:00   | 只看该作者 查看该作者主题 9楼 

不明白你说啥。

是不是一个模糊搜索。

一个精确搜索。?

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
cyxjq 当前离线

1713

主题

8

广播

2

粉丝
添加关注
级别:高一年

用户积分:10077 分
登录次数:395 次
注册时间:2006/7/18
最后登录:2018/8/10
cyxjq 发表于:2007/12/24 10:24:00   | 只看该作者 查看该作者主题 10楼 
做在线知识付费 选科汛云开店
顶上去顶上去顶上去顶上去顶上去
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.20410秒 powered by KesionCMS 9.0