我在做一个机器人问答存在 SQL 或者 SQLIte 数据库中
用户发送消息:谁知道csdn论坛网址是多少呢?
数据库存2个字段,一个是问题,一个是答案
问题 答案
论坛网址 bbs.csdn.net
csdn论坛网址 bbs.csdn.net
如果查询询 模糊匹配到!这2条数据!或者其中一条。
我在做一个机器人问答存在 SQL 或者 SQLIte 数据库中
用户发送消息:谁知道csdn论坛网址是多少呢?
数据库存2个字段,一个是问题,一个是答案
问题 答案
论坛网址 bbs.csdn.net
csdn论坛网址 bbs.csdn.net
如果查询询 模糊匹配到!这2条数据!或者其中一条。
首先需要将用户的消息进行分词处理,提取出关键字(keyStr),然后呢,模糊匹配的sql语句你会写吧?
因为是模糊查询,所以最好简历索引优化查询。
%匹配的话 三种情况:百分号在后,百分号在前,两端百分号。可以看下这个文章http://blog.itpub.net/26736162/viewspace-2139039/
查询速度按照上面的排序是越来越慢的,推荐第一种,如果第二种的话就把关键字反转一下,最好不要用第三种,很慢!!!
create index index_name on table_name (column_listname) ;
select * from table_name where table_name.问题字段名字 like keyStr +'%' ;