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

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

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

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

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

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

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

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

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

我自己去看看分词算法