sqlite sqlite3,SQLite3

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: