机器学习和生物信息学实验室联盟

标题: 【悬赏1】带提示功能的搜索框【结束】 [打印本页]

作者: zouquan    时间: 2011-11-1 11:37
标题: 【悬赏1】带提示功能的搜索框【结束】
做一个Web Server容易,但处处贴心还是很难的,以下供大家参考

1. 搜索框中有一个暗的例子,如 http://reg.163.com/getpasswd/RetakePassword.jsp
[attach]245[/attach]
搜索框HTML是:
<input name="username" id="username" class="input c_888888 w_200" autocomplete="off" type="text"mailto:name@example.com">name@example.com'){this.value = ''; this.style.color='#000000';}else{this.style.color='#000000';}" value="" /><span class="err" id="errUsername">

注意:这里把粘贴(paste)功能都禁止了,适合用户名、密码框。

2. 向百度一样,能够弹出提示
[attach]246[/attach]
这个很有意思,我非常想学习这项技术,谁有精力能够搞定这个技术(后面搜索的java程序可以由我来写,最好不要在SQL数据库中搜索,而是在文本中搜索),我悬赏200元。
------------------------------------------------------------------------------------------
悬赏截至:最终@hsc利用HTML技术,完成了只能从头匹配的提示,获得奖励100元。方法简单,可移植性好。见[attach]248[/attach]
@tangzk利用了Ajex技术,实现了依靠java的匹配,奖200元。[attach]257[/attach]我还没有实践,欢迎补充测试文档。



作者: chenwq    时间: 2011-11-1 12:01
权哥确定¥200吗
作者: zouquan    时间: 2011-11-1 12:03
chenwq 发表于 2011-11-1 12:01
权哥确定¥200吗

哈,权哥啥时候放过学生鸽子?做得好,可以追加~~~
作者: chenwq    时间: 2011-11-1 12:16
做人要厚道...
百度开发的智能提示API
可以获得与百度搜索引擎同样强大的提示功能

这个是否是权哥希望的?
作者: tangzk    时间: 2011-11-1 14:54
老师需要得急吗?
目前手头还有些事情,这一周内计划可以给您写完。
作者: hsc    时间: 2011-11-1 15:04
呵,这个比较有趣,试一下哈!
作者: zouquan    时间: 2011-11-1 15:27
chenwq 发表于 2011-11-1 12:16
做人要厚道...
百度开发的智能提示API
可以获得与百度搜索引擎同样强大的提示功能


这个是嵌入baidu搜索框,我想给我自己做的页面中也有这种提示功能,比如某个框中要用户输入gene名字,gene名字一共有几万中,我放在一个文本中,用输入之后,就会自动弹出与其最匹配的gene名字,像baidu那样


比如:http://59.77.16.75:8080/tisged/

在Tissue name 应该输入heart、 liver、ovary等(大约有几千种可能,我可以放到一个文本文件中),如果我输入overy,应该在下拉菜单中弹出ovary。
最简单的应用,我们可以开发一个在线的词典,比如我们写英语paper的时候总是忘了一个单词怎么写,那我们如果输入一个拼错的单词,它应该从下拉提示中提示正确的拼法,就像baidu一样

作者: zouquan    时间: 2011-11-1 15:28
tangzk 发表于 2011-11-1 14:54
老师需要得急吗?
目前手头还有些事情,这一周内计划可以给您写完。

哈,不急~~~
作者: hsc    时间: 2011-11-1 15:50
本帖最后由 hsc 于 2011-11-1 15:52 编辑
zouquan 发表于 2011-11-1 15:27
这个是嵌入baidu搜索框,我想给我自己做的页面中也有这种提示功能,比如某个框中要用户输入gene名字,g ...


老师你想怎么匹配呢,是开头匹配,还是整行只要出现这个片段就匹配还是不管是不是匹配上,相似度超过一定值之后也算匹配成功呢?
作者: zouquan    时间: 2011-11-1 16:42
hsc 发表于 2011-11-1 15:50
老师你想怎么匹配呢,是开头匹配,还是整行只要出现这个片段就匹配还是不管是不是匹配上,相似度超过一 ...

这个你可以简单的在java中实现(但不要在javascript中实现),回头我再修改即可。

针对不同情况,可能有不同策略,要看那个文本字典的大小。如果很大,就要预处理那个字典,如果不大就String.indexOf("xxx")!=-1即可;模糊匹配的我自己再想办法。

到java层面我就会了,但在jsp和servlet我一点不会,全靠你们了
作者: zouquan    时间: 2011-11-1 20:14
@hsc 搞了一个,http://59.77.16.75/main/~hsc/automatch/demo/

虽然是完全html的,没有达到后面连到java程序的地步,但还是不错,奖励100元,已记账,见
http://59.77.16.75/bbs/forum.php?mod=viewthread&tid=294

各位其他同学加油,能够实现依然奖励/
作者: zouquan    时间: 2011-11-1 20:41
模糊匹配是很难的,尤其是在大规模无结构数据中,UCI的李晨老师做的很好(和我有过一面之缘)

http://psearch.ics.uci.edu/   这个可以搜索人名

http://ipubmed.ics.uci.edu/    这个可以搜索论文

他们好像用了Ajex技术,页面变换很炫,如果各位同学谁能搞定Ajex技术并教会其他同学,我同样奖励200元,工作量大可以追加!
作者: tangzk    时间: 2011-11-1 22:14
zouquan 发表于 2011-11-1 20:41
模糊匹配是很难的,尤其是在大规模无结构数据中,UCI的李晨老师做的很好(和我有过一面之缘)

http://ps ...

呵呵,今天晚上回去给您。
目标:简单模糊匹配,可扩展成Lucene查询。
作者: zouquan    时间: 2011-11-2 10:25
tangzk 发表于 2011-11-1 22:14
呵呵,今天晚上回去给您。
目标:简单模糊匹配,可扩展成Lucene查询。


非常好,大家可见 http://59.77.16.75:8080/SimpleAutoComplete/index.html

振坤应该写个技术文档,比如按钮提交后,剩下的程序在哪写。

另外.dat文件为什么18行,有什么格式要求。

提示框功能完成,奖励200元,记账了:)
作者: tangzk    时间: 2011-11-2 10:39
本帖最后由 tangzk 于 2011-11-2 10:43 编辑
zouquan 发表于 2011-11-2 10:25
非常好,大家可见 http://59.77.16.75:8080/SimpleAutoComplete/index.html

振坤应该写个技术文档,比 ...


,谢谢老师。
data.dat只是一个数据输入文件,我目前使用的是@hsc同学的数据,没有特别的要求,这可以变换成其它多种形式的输入,如文件、其它应用等。Ajax用在输入后,会去调用servlet请求,servlet会去读取data.dat文件,检索输出结果。
这个文档我今天弄出来。
作者: zouquan    时间: 2011-11-2 11:04
tangzk 发表于 2011-11-2 10:39
,谢谢老师。
data.dat只是一个数据输入文件,我目前使用的是@hsc同学的数据,没有特别的要求, ...

但是你的HTML是不是有点问题,在IE6下显示不正常

[attach]247[/attach]
作者: tangzk    时间: 2011-11-2 18:46
zouquan 发表于 2011-11-2 11:04
但是你的HTML是不是有点问题,在IE6下显示不正常

老师,您还是用IE6啊?呵呵。
稍微调整了下,源码我放在了:http://59.77.16.75/svn/seminar/tangzk/SimpleAutoComplete/,因为我没有IE6,所以就没办法测试。
晚上上完课,文档已经写完了,我把文档、源码和最新的WAR包一起发给您。




欢迎光临 机器学习和生物信息学实验室联盟 (http://123.57.240.48/) Powered by Discuz! X3.2