V_admin 2018-03-31 08:15 采纳率: 66.7%
浏览 905
已结题

sqlite3 或者 MySql 查询询问题

我在做一个机器人问答存在 SQL 或者 SQLIte 数据库中

用户发送消息:谁知道csdn论坛网址是多少呢?

数据库存2个字段,一个是问题,一个是答案
问题 答案
论坛网址 bbs.csdn.net
csdn论坛网址 bbs.csdn.net

如果查询询 模糊匹配到!这2条数据!或者其中一条。

  • 写回答

3条回答 默认 最新

  • Xia_JF 2018-03-31 08:52
    关注

    首先需要将用户的消息进行分词处理,提取出关键字(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 +'%' ;

    评论

报告相同问题?