易截截图软件、单文件、免安装、纯绿色、仅160KB

SQLite中的全文搜索

    拜Google的Scott Hess同志所赐,SQLite也推出了全文搜索功能。
    SQLite通过建立一个虚拟表,将输入的文字根据空格、标点符合等规则进行分词,组织成一棵B树,以此来提高搜索速度。
    如何使用这一功能,性能上如何,大家各自研究去吧。
    在这里我就汇报一下自己的研究成果:
1. SQLite的全文搜索大致是按照空格分词出一个个的单词,如果文章中有“asdf”这样一个词,那么,你就休想通过“sd”来找到这段内容了,因为他是以单词作为一个单位来组织的;
2. 既然是空格分词,自然就不支持中文了,除非你是把一个文章每个词都用空格或者标点符号分开;
3. SQLite提供了可自定义的词法分析器,具体的用法看文档;
4. 研究下porter这一语法分析器,参看源码文件“fts3_porter.c”,对于一个单词的多种词形,按照英文的基本规范,将多个词形统一为一个基本单词,具备了一定语义上的支持。
    总结来说,目前是没有提供真正语义上的分词,这就要靠各位看官多多努力了,呵呵
    官网关于全文搜索的链接:http://www.sqlite.org/fts3.html


相关文档:

[收拢] 用sqlite 执行标准 sql 语法

http://www.umgr.com/blog/PostView.aspx?bpId=36294
 1. 执行sql语句
int sqlite3_exec(sqlite3*, const char *sql, sqlite3_callbacksql 语法
, void *,  char **errmsg );
这就是执行一条 sql 语句的函数。
第1个参数不再说了,是前面open函数得到的指针。说了是关键数据结构。
第2个参数const char ......

sqlite解决中文路径问题


// sqlite解决中文路径问题,以前研究sqlite时候遇到的中文路径问题的解决方法
// AnsiString cb中的字符串类,其它编译器用std::string替换即可.
// MultiByteToWideChar是windows api
AnsiString fileName;   
int strSize = fileName.Length();
char *ansi = new char[strSize+1];
wchar_t *unico ......

嵌入式数据库 SQLite 简介

 自几十年前出现的商业应用程序以来,数据库就成为软件应用程序的主要组成部分。正与数据库管理系统非常关键一样,它们也变得非常庞大,并占用了相当多的系
统资源,增加了管理的复杂性。随着软件应用程序逐渐模块模块化,一种新型数据库会比大型复杂的传统数据库管理系统更适应。嵌入式数据库直接在应用程序进程
中 ......

SQLite数据库使用总结

1.在SQLite中插入当前时间,变量定义不用多说
char *sql = sqlite3_mprintf("insert into Log VALUES(datetime('now', 'localtime'), '%q', '%q')", cUser, cLogContent);
int ret = sqlite3_exec(Sqlite3, sql, NULL, NULL, &pErrMsg);
以月份为单位统计出符合当前月份的记录, Time为数据库中字段名:
char *sql = s ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号