sqlite sqlite3,SQLite3
SQLite3数据库全文搜索-SQL Server-红黑联盟
SQLite3数据库全文搜索2010-06-10 13:57:27我来说几句
收集
我要投稿[font: small]
对于应用软件开发者来说,解决这个问题有很多选择。比如MySQL和PostgreSQL或者Sphinx和Lucene等独立软件用于本地执行。然而,这些要么是棘手的使用或过度。
好在Google贡献了一些资源给SQLite帮忙。3.3.8版本首次实现了全文检索。这个版本提供的函数可以创建一个依赖于外部扩展的虚拟表:在这里,全文搜索算法可以用于任何虚拟表中的文本列。在PHP 5.3.0中,相应的支持只被默认的PDO和SQLite3激活。PHP的早期版本可以使用PECL的SQLite3扩展库。
下载并安装最新版本的SQLite
#去http://www.sqlite.org/sqlite-amalgamation-3.6.22.tar.gz
#塔尔-zxvf sqlite-amalgamation-3.6.22.tar.gz
# cd sqlite-3.6.22/
# CFLAGS=-DSQLITE _ ENABLE _ FTS 3=1 。/配置
#制造
#完成安装
查看版本
# sqlite3 - version创建搜索索引通常如下:
将文本分成记号。转换成小写字母。确定词根。建立索引。默认情况下,SQLite提供了两个基本的断字符,Simple和Porter。他们可以控制单词的分离方式。根据简单的空格和标点符号,将文本分解成不同的符号。Porter是专门为英语使用而设计的,它可以将大量的文本扩展分解成基本形式。例如,巩固,巩固,巩固等词将被转换为巩固。
遗憾的是,SQLite还没有取消停用词。因此,常用词,如the、of和to,仍然在索引中。这会大大扩大索引的范围,减慢搜索速度。最简单的解决方案是在按下确认搜索之前手动删除停用词。
下面,我将向您展示一些代码,教您如何创建第一个全文索引。SQLite这样做是因为它使用FTS3扩展构建了一个虚拟表。只有当文本列位于这个虚拟表中时,才能对其进行搜索,最后一列用于标识所使用的断字符的类型。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。