sqlite3 或者 MySql 查询询问题 5C

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

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

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

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

3个回答

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

fencanluan5712
Xia_JF 回复V_admin: 这个肯定要分词工具了
一年多之前 回复
V_admin
V_admin 单个字分割文本,我知道,有没有分词可以识别出是词组的方法。
一年多之前 回复

你可以去看一下ZK分词器,或者盘古分词

V_admin
V_admin 第一次接触,有没有一些例子说明么
一年多之前 回复

可以考虑直接用solr或es之类的索引数据库,选择合适的分词组件,就可以很快完成你需要的功能了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
sqlite3 C++查询问题!
ret = sqlite3_exec(Pdb, "create table star_table(Name QString, Resume QString)", NULL, NULL, &errMsg);rnrnrn结构: Name Resumern wang ......rn zhang ......rn yang ......rnrn问下该如何查询zhang并且输出对应的Resume;
Sqlite3查询时出现的问题
[code=c]if(NULL == pSql)rn sqlite3_open(("123.db"),&pSql);[/code]rn链接数据库,应该没问题rn[code=c]char *msg = ("select name from sqlite_master where type='table' order by name;");rn const char *tail;rn sqlite3_stmt *pStmt = NULL;rn int ret = 0 ;rnrn if( SQLITE_ERROR == sqlite3_prepare_v2(pSql,msg,strlen(msg),&pStmt,&tail)) rn rn MessageBox(_T("Msg Error")); //语句错误rn return;rn rn else if(SQLITE_DONE == sqlite3_step(pStmt))rn rn MessageBox(_T("Select Error")); //查询错误或查询内容不存在rn return;rn rnrn CString str_msgget;rn int i = 0; rn do rn rn rn for(int i = 0 ;i < sqlite3_column_count(pStmt); i++)rn rn if(0 == sqlite3_column_bytes16( pStmt, i )) return; rn str_msgget += (TCHAR*)sqlite3_column_text16(pStmt,i); rn rn str_msgget += _T("||\n");rnrn while(SQLITE_DONE != sqlite3_step(pStmt)); rn[/code]rnrn我的总是查询不到,但是用网上下的查询工具就能查到。返回值总是SQLITE_DONE 不是理论上应该返回的SQLITE_ROWrn有没有大神帮帮忙,解决下我出现的问题
sqlite3 中的查询 问题,sqlite3_exec
我用例子中的rnrn// 查询数据表rnrnconst char * sSQL3 = "select * from logins;";rnrn sqlite3_exec( db, sSQL3, _sql_callback, 0, &pErrMsg);rnrnstatic int _sql_callback(void * notused, int argc, char ** argv, char ** szColName)rnrn int i;rn for ( i=0; i < argc; i++ )rn rn printf( "%s = %s\n", szColName[i], argv[i] == 0 ? "NUL" : argv[i] );rn rnrn return 1;rnrnrnrn这个可以查询,不过只能查询一行数据, 怎么能全部查询到呢?rnsqlite3_get_table 他们说容易出错
关于sqlite3中文查询的问题
sqlite3查询结果有中文会乱码,用 new String(str,"gb2312")可以转成中文rn但我用中文关键字查询却查不出任何结果,用数字或字母却可以查出,请问如何解决?
python查询sqlite3数据库的问题
用这个语句rnsql = cu.execute("select * from MUD_Node").fetchall()rn或者rnsql = cu.execute("select * from MUD_Node where nodeid like 'yangzhou'").fetchall()rn这个语句可以查询到数据库的问题,但添加上带汉字的约束条件:rnsql = cu.execute("select * from MUD_Node where zone like '扬州'").fetchall()rnrn以后查询到的就为空了rn应该是编码格式的问题,数据库中使用的是GBK编码的,求解rn
sqlite3 in命令集合查询和bind查询问题!
sqlite3 in命令集合查询和bind查询问题!rnrn第一种查询rnselect * from A表 where 字段1 in (值1,值2,值3,值4)rnrnrn第二种查询rn select * from A表 where 字段1 = ?rnrn for(循环一组值)rn sqlite3_bind_int(句柄,1,值[i])rnrnrn这两种方法查询效率上有不同吗???哪个快,哪个慢??rnrn
sqlite3 in命令集合查询和bind查询问题 !
sqlite3 in命令集合查询和bind查询问题!rnrn第一种查询rnselect * from A表 where 字段1 in (值1,值2,值3,值4)rnrnrn第二种查询rn select * from A表 where 字段1 = ?rnrn for(循环一组值)rn sqlite3_bind_int(句柄,1,值[i])rnrnrn这两种方法查询效率上有不同吗???哪个快,哪个慢??rn
MySQL 的复合查询或者嵌套查询
MySQL 的复合查询或者嵌套查询,有表两张,要以 clrTheme 表两张为表列,将 clrColor 横向列出,故选择嵌套查询。 create table clrTheme ( clrThemeId bigint not null auto_increment, clrGroupId bigint, sort
sqlite3 查询列名
备注一下省的忘了 大致有三种方法 假设现在有一个数据库test0,库里有一个表t1,表里有一个列f1cursor.execute("PRAGMA table_info(t1)") name = cursor.fetchall() print name # [(0, u'f1', u'integer', 0, None, 0)] cursor.execute("SELECT sql FROM sq
sqlite3 转mysql
将sqlite3数据库文件转mysql文件,使sqlite3下能操作的数据用mysql语句也可操作。主要是用于实现多线程并发操作。
Ubunto安装mysql和sqlite3
Ubunto安装mysql和sqlite3,里边详细讲解了安装的过程,一步一步的教你怎么安装mysql及sqlite3
MySQL和Sqlite3性能测试
测试条件:i5-4460@3.2G,普通机械硬盘。MySql: 5.0.45-community-nt,32bit, innodb引擎,innodb_flush_log_at_trx_commit=0Sqlite3: Synchronous=Off,LockingMode = ExclusiveTableScript:MySql:CREATE TABLE `test` (  `id` int(10...
sqlite3 sqlite3 sqlite3
sqlite3 svn cleanup sqlite3 svn cleanup sqlite3 svn cleanup
问一下QSqlQuery查询SQLite3数据库的问题
[code=C/C++]rnQSqlQuery query=form_list[current_table]->query();rnquery.exec(sql_input->text());rnresult_browser->setColumnCount(query.record().count());rnresult_browser->setRowCount(query.size());rn[/code]rnrnrnform_list[current_table]是一个QSqlTableModel *rnrnresult_browser是个QTableWidgetrnrn為什麼debug的时候发现query.size()总是返回-1?rnrnsql_input里面确实是一个有效的SELECT语句啊。。。
询问下这个问题
function Node(id, pid, name, url, title, target, icon, iconOpen, open) rn this.id = id;rn this.pid = pid;rn this.name = name;rn this.url = url;rn this.title = title;rn this.target = target;rn this.icon = icon;rn this.iconOpen = iconOpen;rn this._io = open || false;rn this._is = false;rn this._ls = false;rn this._hc = false;rn this._ai = 0;rn this._p;rn;rnrn问下,这里的this到底是指什么哦?rn还有this后面的id,pid,name等等字段是谁的属性哦?
询问下public问题
学了这么久java了 有个挺简单的问题还没搞清楚 还望高数赐教rn问 public class tankrn rn与rnpublic void tank()rn rn还有rnpublic tank(int x,int y)rn的区别 rn请大家帮我解决下 谢谢大家
询问个gridview+cheackbox问题
我使用了1个gridview1控件,显示数据库的一个表rnrn然后通过添加一列,在item和FOOTer模板中分别放入了一个checkbox控件rn然后使用代码(如下)点击footer中的checkbox可以让所有列前面的勾都点上rnfunction selectAll(control) rn rn var ob=control; rn xState=ob.checked; rn elem=ob.form.elements; rn rn for(i=0;i
关于数据库查寻询的问题
我在使用SQL语句查询时,当我想停止查询,并把查询的结果显示出来,应怎样做rn
询问个LoadLibrary的问题
现在遇到一个问题,就是VS2010使用LoadLibrary load WinIo64.dll,在64位系统上Load不成功,GetLastError是0xc1,不知道有哪位大大有没遇到过这个问题.
C++ sqlite3查询不存在的数据!
C++ sqlite3查询不存在的数据!rnrn怎样判断没有查询到 并且提醒用户!
查询中文/英文询盘id集合
/** * 查询中文/英文询盘id集合 */
sqlite3查询结果如何分页显示
sqlite语句如何在查询条件中嵌入变量?如果不行的话,该怎样分页显示查询结果呢?rnrn具体问题:rn我需要将一个有几万条记录(英语单词表)的表显示出来,如果一次显示全部记录,这几万个几次显示不太好啊!!希望一次显示10到20个记录,依次将全表显示完毕,请问该如何做到呢?rnrn事实上我是在做一个Qt项目,用到sqlite嵌入式数据库,需要执行一个函数,将表中的记录依次显示出来,只许用一个函数,该如何做呢。
android查询SQLite3 数据库信息
android查询sqlite3 数据库信息
sqlite3问题
sqlite3_get_table(db,zSql,&datatable,&nRow,&nClumn,&zErrMsg);rnrn给我解释一下,这条语句的返回什么,,如果找到了,会返回什么,若没找到会返回什么谢谢了rn
sqlite3查询:显示表头 与 对齐
在Android中可以使用sqlite3来查询数据库中的数据,但查出来是这个样的 没有表头看起来好难受,而且有时候格式也对不齐。 要解决这个问题只需要在用sqlite3命令打开一个数据库后执行以下两条命令。 &quot;.header on&quot; 启用表头 &quot;.mode column&quot; 使用列模式 这样查询结果好看了很多。 ...
Sqlite3查询指定行数数据
Sqlite中提供的方法和Mysql的一样,也是通过关键字limit限制。 SQL1 [code=&quot;sql&quot;] select t.user_id,random() as Random from udb_user t limit 10;[/code] SQL2 [code=&quot;sql&quot;]select t.user_id,random() as Random from udb_user ...
SQLite3的问题
mysql里有字符连接函数CONCAT_WS,请问sqlite里有没有对应的函数,此外谁有sqlite所支持的函数列表
mysql 查询字段上一行或者下一行
mysql 查询某个字段的上一行或者下一行rnrn
mysql或者access中对时间的查询操作
在mysql中测试: 查询当天的:select * from orders where to_days(buydate) = to_days(now());//orders是当前表名,buydate是时间的字段名 查询7天内的:SELECT * FROM orders where DATE_SUB(CURDATE(), INTERVAL 7 DAY) &lt;= date(buydate);//o...
mysql查询结果导出文件 excel 或者csv
很多时候领导会说,导一份excel或者csv给我看看,这个时候很多人,回去写一个自动程序导出数据,但是我们同样可以通过sql 语句导出excel或者csv 一条sql 语句,相对于一段复杂的代码,方便程度和执行效率要快的多。 1 mysql连接+将查询结果输出到文件。在命令行中执行(windows的cmd命令行,mac的终端) mysql -hxx -uxx -pxx -e "que
mysql查询上一条或者下一条数据
mysql查询当前id的上一条或者下一条数据。可以参考下。
SQLITE3的问题
我引用了sqlite3.h这个文件 也在TARGET里面的framework添加了sqlite3.dylib 但是却出现如下错误 请问怎么解决? ld: 3 duplicate symbols for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocatio
菜鸟询问个sql查询命令
菜鸟询问个sql查询命令rnrn数据库如下:rnrnitem qualityrn000101001 crn000101002 crn000101003 crn000101004 crn000101005 frn000101006 frn000102001 frn000102002 frn000102003 crn000102004 crn000102005 crn000102006 frn000102007 crn000202001 frn000202002 crn000202003 frn000202004 crn000202005 crn000202006 crn000202007 frnrn我想查询当quality=c时,0001开头的结果。rnrn谢谢!
mysql内容转换到sqlite3
1.下载mysql客户端Navicat For Mysql2.通过客户端连接mysql数据库mysql数据库连接信息ip地址:192.168.20.xxx端口号:3306用户名:root密码:123456数据库名称:eds3.导出数据选择表,然后点击Export Wizard,选择SQL script file(*.sql),然后导出的文件为xxx.sql4.通过python脚本读取xxx.sql...
QT--QT下使用数据库(Mysql & Sqlite3)
一,本地需要已经按照了对应的数据库 二,QT操作Sqlite 创建QT项目时候,选择QT控制台程序 #include #include #include #include int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); //创建一个连接 QSqlDatabase d
数据库选择:mysql 还是sqlite3?
要开发一款手机APP,有多个用户。功能举例:用户A可以给用户B转账50元,A还可以查看自己的消费记录等n金额之类的都是用数据库模拟,现在不知道该用哪个数据库,求大神们指点一二(ಥ_ಥ)
询问个资料查询系统的做法
有人可以帮忙看有没做资料查询和更新的建议没,资料是文档类的。比如abc.htm ,我想通过关键字搜索然后来显示这个文档,请问如何设计数据表,以及如何做,谢谢了
MySQL日志——通用查询日志(或者就叫查询日志)
这种日志就是用来记录在MySQL上执行过的SQL语句,包括DDL和DML以及特殊命令如SET,而不仅仅是select语句。因为select可能非常频繁,因此通用查询日志默认是没有开启的,一般在需要采样分析的时候才会开启并且要及时的关闭。开启通用查询日志不仅浪费存储空间,还会由于频繁的IO而影响系统性能。         例如要分析哪些查询最耗时,对哪些表或哪些列的查询比较频繁就需要通过通用查询日
询问个select查询参数like使用问题
软件环境,MSSQL2008+vs2008rn使用VS控件rntext 以及datelistrn表如下rn编号 内容 备注 (列)rn1 c:\windows 系统目录(数据)rnrnrnrn通过text输入关键字 系统 (在sql的表中有个关键字列,里面有所有关键字)用 datelist显示符合的关键字的数据列rnrn目前直接用的控件中的语法是,where 备注=@备注rn但是只能搜索到完全匹配的,想询问下如何模糊搜索,就是我输入,系统或是目录 都能搜索出来备注里面有这些的列rnrn谢谢~!帅哥美女下午好啊
mysql 查询 临时表问题
[img=https://img-bbs.csdn.net/upload/201507/24/1437722684_457304.jpg][/img]rnrnrnrn/*显示出机构名称与扫描人数 但是研究表内没有改机构的信息 但是该机构还是要显示出来 并且 扫描人数 = 0 并且要按照机构名称排序rn现在的问题是:研究表内没有该机构扫描人数的信息我显示不出来 希望大牛们帮帮忙用一种方法将其显示出来 谢谢了rn*/rnDELIMITER $$rn-- institutions 是机构名称 没有外键引用 rn-- studies 是研究表 里面有institutions的主键 ins_id rnDROP PROCEDURE IF EXISTS `wk` $$rnrnCREATE PROCEDURE `wk` (rn c INT,rn begcre VARCHAR (20),rn endcre VARCHAR (20)rn) rnBEGINrn WHILErn c < 41 DO SET @b := rn (SELECT rn COUNT(studies.`ins_id`) rn FROMrn studies rn LEFT JOIN institutions rn ON studies.`ins_id` = institutions.`ins_id` rn WHERE institutions.`ins_id` = c rn AND studies.`cre_date` BETWEEN begcre rn AND endcre) ;rn SELECT rn institutions.`ins_name` AS '机构名称',rn @b AS '扫描人数' rn FROMrn studies rn LEFT JOIN institutions rn ON studies.`ins_id` = institutions.`ins_id` rn WHERE institutions.`ins_id` = c rn AND studies.`cre_date` BETWEEN begcre rn AND endcre rn GROUP BY institutions.`ins_name` rn LIMIT 1 ;rn SET c = c + 1 ;rn END WHILE ;rnEND $$rnrnDELIMITER ;rnrnCALL wk (1, '2015-01-01', '2015-07-01') ;
相关热词 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天 c#字典序排序 c# 截屏取色 c#中的哪些属于托管机制