在输入问题的时候 关联问题的联想是怎么做的呢?

新手上路,请多包涵

在输入问题的时候 关联问题的联想是怎么做的呢?
就像在这个网站的搜索框中边输入 下边就会动态显示关联的问题。是input中的onchange 触发了ajax来取数据么,关联的数据时根据什么判断的呢?

阅读 3.5k
3 个回答

你肯定需要有一个关联词的数据库,一般不会太大,因为是随着输入来匹配的,所以把关联词数据库构建出一个前缀树,不断匹配用户的前缀

这个一方面要在搜索功能加上单词的联想功能,另一方面就是要用js与后台通信了。
如果是后台搜索的方面,可以参考elasticsearch(也有其他的搜索框架,可以自行google之)。

jquery有一个插件,叫做auto什么来着,具体忘记里。不过你可以参考sf的搜索。

比如搜索

jquery或者JS对后端服务进行请求,你可以看到这样的URI地址:

http://x.segmentfault.com/autocomplete?callback=jQuery180020859968336299062_1395108696132&sfsess=LRtwr.6c1df4ef889a619d6c22506776cb4528.a&q=%E4%BD%A0&_=1395108706164

当然最简单的原理就是对form表单的input进行keydown或者keyup事件的绑定。然后逐个字的进行$.getOR$.getJSON请求。 当然这个效率不会很高~~~

建议GOOGLE.. jquery+autocomplete

点我点我!!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进