SQLite3 数据库全文搜索 - SQL Server - 红黑联盟

SQLite3 数据库全文搜索 - SQL Server - 红黑联盟

SQLite3 数据库全文搜索
2010-06-10 13:57:27     我来说两句 

收藏
  
我要投稿    [字体:小
大]

对于应用软件开发人员来说,要解决这个问题有许多的方案可以选择。如,利用 MySQL 和 PostgreSQL 或者 Sphinx 和 Lucene 这样的独立软件进行本地执行。然而,这些要么用起来棘手,要么就过度了。

幸运的是,Google 为 SQLite 贡献了一些资源以实现帮助。在版本 3.3.8 中第一次实现全文检索。此版本提供的功能可以创建一个依赖于外部延伸的虚拟表:在这里,全文搜索运算法则可用于任何虚拟表内的文本列。在PHP 5.3.0中,对应的支持只被默认的 PDO 和 SQLite3 激活。较早版本的PHP可以使用 PECL 的 SQLite3 扩展库。

下载并安装 SQLite 最新版本

# wget http://www.sqlite.org/sqlite-amalgamation-3.6.22.tar.gz

# tar -zxvf sqlite-amalgamation-3.6.22.tar.gz

# cd sqlite-3.6.22/

# CFLAGS="-DSQLITE_ENABLE_FTS3=1" ./configure

# make

# make install

完成

查看版本

# sqlite3 --version

创建一个搜索索引通常情况如下:

  • 把文本分解成记号。
  • 转换为小写字母。
  • 确定根词。
  • 建立索引。

在默认情况下,SQLite 提供了两个基本的分词器,Simple 和 Porter。它们可以控制字的分开方式。Simple 根据空格和标点符号将文本分解成不同的记号。Porter是专为英文使用而设计,它可以将大量的文字扩展化解为基础形式。例如,condolidate,consolidated,和 consolidating 这一类词语都会被转变成consolid。

遗憾的是,SQLite目前还没有取消停用词。所以常用词,例如,the,of和to仍位于索引内。这会极大地扩充索引的范畴并减缓搜索速度。最简单的解决办法是,在按下确认检索之前手动除去停用词。

下面,向您展示一些代码,教你如何创建自己的第一个全文索引。 SQLite之所以做到这些,是因为它通过使用FTS3扩展建立一个虚拟表。只有文本列位于这个虚拟表以内时,才可以被搜索,并且最后一列用来识别使用的分词器类型。

posted on 2012-06-08 10:46 lexus 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lexus/archive/2012/06/08/2541389.html

SQLite3 数据库全文搜索 - SQL Server - 红黑联盟相关推荐

  1. 全文搜索 (SQL Server) 修复

    http://msdn.microsoft.com/zh-cn/msdntv/ms189801.aspx  sp_fulltext_catalog (Transact-SQL) SQL Server ...

  2. 8月数据库排行榜:SQL Server分数下降最多

    作者 | 局长 来源 | OSC开源社区(ID:oschina2013) DB-Engines 8 月份流行度排行已更新(基于 7 月份的整体数据变化). 分数波动较大的数据库是 Microsoft ...

  3. Oracle 数据库、Microsoft SQL Server、MySQL 数据库三种常见数据库的区别深度剖析

    文章目录 前言 一.ORACLE 数据库 二.Microsoft SQL Server 数据库 三.MySQL 数据库 总结 前言 Oracle 数据库.Microsoft SQL Server.My ...

  4. 数据库入门教程(SQL Server 2005)----数据库是如何查询数据的

    数据库入门教程(SQL Server 2005)----数据库是如何查询数据的----查询:逻辑顺序 1.计算列 //以scott数据库中的emp表为例-----where可译为查找,其本质是在进行表 ...

  5. SQL Server 2000数据库移植到SQL Server 2008R2数据库服务器中碰到的”3145错误”及解决办法...

    辛苦忙碌了一个星期终于安装配置好了TFS服务器,给每个团队成员分配了账户和邮箱.不过,老机器中的部分数据需要备份到新机器中,其中在移植一个使用DVBBS架设的论坛的时候,出了点问题,记录如下,以备查找 ...

  6. sql数据库 订阅发布_如何使用中央发布者和多个订阅者数据库设置自定义SQL Server事务复制

    sql数据库 订阅发布 In this article, you'll learn how to setup a simple, custom distributed database replica ...

  7. tde数据库加密_如何在TDE加密的数据库上配置SQL Server镜像

    tde数据库加密 Securing and encrypting sensitive data stored in your production databases is a big concern ...

  8. SQL数据库引擎服务SQL Server启动参数概述

    In the SQL world, it is an important activity to perform SQL Server installation for a database admi ...

  9. oracle数据库索引介绍,SQL Server和Oracle数据库索引介绍

    SQL Server和Oracle数据库索引介绍 SQL Server 和 Oracle 数据库索引介绍1 SQL Server 中的索引 索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行 ...

  10. 【数据库原理与SQL Server应用】Part13——数据库设计

    [数据库原理与SQL Server应用]Part13--数据库设计 一.关系规范化理论的引入 1.1 问题的提出 1.2 从数据依赖到函数依赖 1.2.1 数据依赖(Data Dependency) ...

最新文章

  1. 2021年斯坦福AI指数报告重磅出炉!中国AI期刊影响力首超美国,视频处理是新风口...
  2. 类 Class 对象、定义、方法
  3. 外观模式(Facade)
  4. Linux删除重复内容命令uniq笔记
  5. 前端学习(2043)vue之电商管理系统电商系统之优化web.config.js的配置文件
  6. SpringBoot 自带工具类~FileCopyUtils
  7. Domino下启用SMTP验证及创建允许匿名验证
  8. linux 存文件格式,windows保存的文件传输到linux中格式转换
  9. 国内域名商.wang总量TOP14统计报告(6月9日)
  10. 《汇编语言》第一章笔记
  11. 使用虚拟机备份软件恢复云宏Winghong CNware虚拟机
  12. java excel导出下载_Java导出excel并下载功能
  13. 【工具用法】Linux登录吉林大学校园网教程(以deepin为例)
  14. Wifi网络共享----Wifi共享精灵
  15. 1.1快速创建spring boot
  16. 使用虚拟机备份软件备份OpenStack虚拟机
  17. 港股2017年表现全球最好,区块链将助推新经济牛市?
  18. EXCEL基础:XLOOKUP函数的简单使用
  19. 交互式可视化报表怎么弄?看过来!
  20. C语言中“pow”函数,关于使用编译器编译时产生pow未定义引用。

热门文章

  1. 已知两边求角度公式_有30度角的直角三角形,已知一直角边,求另两边的公式,快速求法...
  2. php网站后台修改主页,织梦网站后台主页页面修改
  3. English——Flowers, Language of flowers
  4. 搞一下CP AUTOSAR 入门 | 08 CP AUTOSAR CAN 网络管理简介
  5. 打印机后台服务器修复,修复win10出现“本地打印后台处理程序服务没有运行”的方法...
  6. 论文阅读笔记|A view-free image stitching network
  7. signature=71820b070a82d48c44cc938baccfcfc9,基于集成神经网络的离线手写签名鉴别方法
  8. css实现方框内打勾
  9. raw格式怎么打开转换成jpg?迅捷图片转换器3步搞定
  10. Cannot resolve org.springframework.boot:spring-boot-starter-web:2.2.6.RELEAS