我在搜索框输入问题,怎么在数据库匹配符合的内容,就比如说CSDN的问题搜索

我在搜索框输入问题,怎么在数据库匹配符合的内容,就比如说CSDN的问题搜索,这里需要什么算法呢?

4个回答

首先你需要分词算法,这个算是核心算法了,

比如你输入“怎么在数据库匹配符合的内容”

你需要对用户的输入进行分词, 比如分成“怎么” “怎么在”“数据”“数据库”“匹配”“符合”“内容”,分成一系列的关键词,然后关键词有优先级,比如“数据”“数据库”的优先级比较高,“匹配”“符合”“内容”的优先级中等,“怎么” “怎么在”的优先级比较低
优先级高的关键词要优先匹配

你还需要对数据库保存的贴子的内容进行分词,数据库中保存帖子的url,还需要保存其内容对应的关键词,
比如是你提的这个问题的帖子,这个网页,在数据库中除了保存这个页面的url之外,比如关键词还出现了"数据库",还出现了“autocomplete”还出现了“ajax”,等等,然后用关键词去匹配,

也就是说有有人搜数据库,可能会出现这个帖子,有人搜autocomplete,也会出现这个帖子

文字发生变化的事件中,通过ajax去后台请求,然后把回来的数据填充到下拉

Mr_karen
Mr_karen 我指的是搜索条件已经确定,怎么在数据库中查找匹配相似的结果,就是怎么进行相似查询。。。
大约 5 年之前 回复

autocomplete效果,楼主去搜索autocomplete,看下插件如何使用即可。

我自己去看看分词算法

Mr_karen
Mr_karen 呵呵
大约 5 年之前 回复
qiaojun_peng
彭俏君 回复qiaojun_peng: hahah1
大约 5 年之前 回复
Mr_karen
Mr_karen 回复qiaojun_peng: 哈哈哈
大约 5 年之前 回复
qiaojun_peng
彭俏君 回复Mr_karen: 呵呵呵呵
大约 5 年之前 回复
Mr_karen
Mr_karen 回复Mr_karen: heheh
大约 5 年之前 回复
Mr_karen
Mr_karen 哈哈
大约 5 年之前 回复
Mr_karen
Mr_karen hehe
大约 5 年之前 回复
Mr_karen
Mr_karen hehe
大约 5 年之前 回复
Mr_karen
Mr_karen hehhe
大约 5 年之前 回复
Mr_karen
Mr_karen 呵呵
大约 5 年之前 回复
Mr_karen
Mr_karen 呵呵
大约 5 年之前 回复
Mr_karen
Mr_karen 回复Mr_karen: 呵呵呵
大约 5 年之前 回复
Mr_karen
Mr_karen 呵呵呵
大约 5 年之前 回复
Mr_karen
Mr_karen 呵呵呵呵
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问