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

sqlite全文查询配置到使用全过程

      SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
      Google为SQLite贡献了一些资源以实现帮助。在版本3.3.8中第一次实现全文检索。此版本提供的功能可以创建一个依赖于外部延伸的虚拟表:在这里,全文搜索运算法则可用于任何虚拟表内的文本列。在PHP 5.3.0中,对应的支持只被默认的PDO和SQLite3激活。较早版本的PHP可以使用PECL 的SQLite3扩展库。
  创建一个搜索索引通常情况如下:
  • 把文本分解成记号。
  • 转换为小写字母。
  • 确定根词。
  • 建立索引。
  设置好一切
  在默认情况下,SQLite提供了两个基本的分词器,Simple和Porter。它们可以控制字的分开方式。Simple根据空格和标点符号将文本分解成不同的记号。Porter是专为英文使用而设计,它可以将大量的文字扩展化解为基础形式。例如,condolidate,consolidated,和consolidating这一类词语都会被转变成consolid。
  遗憾的是,SQLite目前还没有取消停用词。所以常用词,例如,the,of和to仍位于索引内。这会极大地扩充索引的范畴并减缓搜索速度。最简单的解决办法是,在按下确认检索之前手动除去停用词。
      首先搭建一个测试环境我们有LINUX系统下编译安装sqlite-amalgamation-3.6.18.tar.gz
下载sqlite最新版本
$ wget http://www.sqlite.org/sqlite-amalgamation-3.6.18.tar.gz
解压缩
$ tar zxvf sqlite-amalgamation-3.6.18.tar.gz
$ cd sqlite-3.6.18/
配置编译sqlite
$ CFLAGS="-DSQLITE_ENABLE_FTS3=1" ./configure
$ make
$ make install
完成
查看版本
$ sqlite3 --version
创建一个sqlite数据库文件
$ sqlite3 dbdate.db
SQLite version 3.6.18
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
创建一个虚表
sqlite> CREATE VIRTUAL TABLE recipe USING fts3(name, ingredients);
插入记录信息
sqlite


相关文档:

sqlite触发器一例

int column_names_printed = 0;
void print_row(int n_values, char** values)
{
    int i;
    for (i = 0; i < n_values; ++i) {
        printf("%10s", values[i]);
    }
    printf("\n& ......

Sqlite在C#中的应用

在 .NET 里面使用 SQLite, 我这里使用的wrapper是 System.Data.SQLite,它只需要一个dll,接口符合ADO.Net 2.0的定义,性能也不错,NHibernate用的也是它,目前支持ADO.NET 3.5了,支持集成在 VS2005 和 VS2008里面,而且支持wince,是个亮点
因为符合ADO.NET的规范,所以使用方式,基本和 SqlClient, OleDb等原生的一致
us ......

SQLite 初体验

1. 下载最新版 SQLite (sqlite-3_6_23_1), copy到C:\下.
2. 新建数据库:
C:\>sqlite3.exe "d:\testdb.db"
3.进入了sqlite3之后,会看到以下文字:
SQLite version 3.1.3
Enter ".help" for instructions
sqlite>
4.建一个名叫film的数据库表
create table film(title, length, year, starring);
5.插入记录 ......

c# sqlite 数据库加密


用了ADO.NET 2.0 SQLite Data Provider 这样可以直接利用它来创建一个加密的sqlite数据库。
有关c#代码如下:
1、创建空的sqlite数据库。
//数据库名的后缀你可以直接指定,甚至没有后缀都可以
//方法一:创建一个空sqlite数据库,用IO的方式
FileStream fs = File.Create(“c:\\test.db“);
//方法二:� ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号