`
jedy
  • 浏览: 147733 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

MySQL全文检索插件

阅读更多
hightman实现了一个MySQL全文检索的插件。它只能使用在5.1.11-12,并且需要更改MySQL的源码,故对其做了一些修改,替换了一个MySQL后续版本中更改了的接口,去掉了一些不需要的功能。

hightman的插件使用了自己的wordlist和stopword list,并使用正向最大匹配分词,新的插件对算法没有任何改变。插件只支持utf8,就是说用于建索引的字段的字符集必须为utf8。wordlist 中只有26万的词汇,可能分词不是很准确,因为我不太清楚好的分词是什么样子,所以也说不准。支持normal mode和boolean mode,不支持query expansion。分词的速度大概为65M的文本建索引需要85秒(没比较,不知道是快还是慢)。源码见最后的链接。

使用方法:

1. 编译插件,MySQL必须是5.1.12版之后的版本,编译出来的so文件必须放在MySQL安装目录的lib/plugin目录下

shell> gcc -DMYSQL_DYNAMIC_PLUGIN -Wall -shared \
-I/usr/local/mysql/include \
-I/usr/local/mysql-source/include \
-I/usr/local/mysql-source \
-o /usr/local/mysql/lib/plugin/libthunder_ft.so \
thunder_ft.c

2. 拷贝wordlist,将附件中的wordlist和stopword两个文件放到/usr/local/mysql/share/mysql中

3. 进入mysql,安装插件

mysql> install plugin thunder_ft soname 'libthunder_ft.so';

4. 建索引时增加 with parser thunder_ft 修饰

mysql> alter table review add fulltext index i_title_content(title, content) with parser thunder_ft;

5. 使用全文索引

mysql> select * from review where match(title, content) against('+大显 +手机' in boolean mode);
注意match中必须列出索引中的每一项。如果希望对title单独检索,则必须要为title这一列单独建一个索引。

6. 可以查看插件被调用了多少次用于分词

mysql> show global status like 'thunder_ft_called';

7. 因为要将wordlist放在内存中,所以这个插件会使用十几兆的内存。当不需要使用时,可以卸载。

mysql> uninstall plugin thunder_ft;


thunder_ft.c
wordlist
分享到:
评论

相关推荐

    mysql一个插件json

    标题中的"mysql一个插件json"指的是专门为MySQL设计的一个JSON插件,旨在增强其对JSON数据的支持。 这款插件是针对Linux环境,特别是针对MySQL 5.7及以上版本的。MySQL 5.7开始引入了对JSON数据类型的原生支持,...

    MySQL结巴中文分词插件SqlJieba.zip

    MySQL 结巴中文分词插件 SqlJieba 『关键词』MySQL, 插件(Plugin), 中文分词, 结巴分词(Jieba), 全文检索(Full-Text), SqlJieba 使用方法:mysql> create database sqljieba; Query OK, 1 row affected ...

    MySQL中文全文索引插件64位版本

     ③、标准插件式:以MySQL 5.1全文索引的标准插件形式开发,不修改MySQL源代码,不影响MySQL的其他功能,可快速跟进MySQL新版本;  ④、支持版本多:支持所有的MySQL 5.1 Release Candidate版本,即MySQL 5.1.22 ...

    UE4 Mysql插件

    在实际应用中,这个插件可以用于各种场景,比如存储和检索玩家数据、记录游戏事件、动态更新游戏内容等。为了更好地理解和使用插件,附带的使用图例是一个很好的学习资源。它可能包含了一些基本操作的示例,如连接...

    Mysql安装图解,Eclipse插件

    2. **搜索MySQL插件**:在Marketplace中输入“MySQL”进行搜索,常见的插件有MySQL Connector和MyEclipse Database Explorer。 3. **安装插件**:选择合适的插件,点击Install,遵循向导完成安装过程。 4. **配置...

    Qt5.15 mysql 插件

    Qt5.15 MySQL 插件是用于在Qt应用程序中集成MySQL数据库的模块,它使得开发者可以方便地利用Qt的编程接口与MySQL数据库进行交互。这个插件是手动编译的,意味着它不是官方发行版的一部分,而是由开发者或者社区成员...

    用Sphinx搭建MySQL中文全文搜索

    这时,我们可以借助第三方工具如Sphinx来增强MySQL的全文检索能力,实现高效且精准的中文搜索。本文将详细介绍如何使用Sphinx搭建MySQL的中文全文搜索。 首先,Sphinx是一个开源的全文搜索引擎,它的设计目标是提供...

    elasticsearch配合mysql实现全文搜索.docx

    与MySQL结合使用,Elasticsearch可以实现高效、复杂的全文搜索。MySQL是流行的关系型数据库管理系统,它存储结构化数据,而Elasticsearch则擅长处理非结构化的搜索需求。 在配置Elasticsearch进行全文搜索前,确保...

    mysql.data.dll下载_c#连接mysql必要插件

    在C#编程环境中,如果你需要与MySQL数据库进行交互,`Mysql.Data.dll`就是必不可少的插件。下面将详细阐述如何使用这个库以及其在C#中的应用。 首先,你需要从可信的来源下载`Mysql.data.dll`文件。一旦下载完成,...

    MYSQL可视化插件

    MySQL可视化插件是一种工具,旨在为数据库管理员和开发人员提供一个图形用户界面(GUI),以更直观、便捷的方式管理和操作MySQL数据库。随着技术的发展,我们已经告别了单纯依赖命令行接口(CMD)的时代,现在可以...

    mysqlcft中文全文索引插件 32位版本

     ③、标准插件式:以MySQL 5.1全文索引的标准插件形式开发,不修改MySQL源代码,不影响MySQL的其他功能,可快速跟进MySQL新版本;  ④、支持版本多:支持所有的MySQL 5.1 Release Candidate版本,即MySQL 5.1.22 ...

    PowerBI连接MySQL库安装插件.rar

    在本案例中,我们讨论的主题是如何使用Power BI连接到MySQL数据库,这需要安装特定的插件来实现。以下是关于这个过程的详细步骤和相关知识点。 首先,我们需要了解Power BI Desktop和MySQL数据库的基本概念。Power ...

    面向海量天文数据的分布式MySQL锥形检索研究.pdf

    在本文中,研究者们采用MySQL数据库结合特定的插件(Dynamic Index Facility,DIF)来实现分布式锥形检索。MySQL是一个广泛使用的开源关系型数据库管理系统,它具有高稳定性和良好的社区支持。借助MySQL,研究者可以...

    基于MySQL的中文全文搜索研究.pdf

    MySQL从5.7.6版本开始内置了n-gram parser插件,专门用于支持中文分词,实现中文全文检索,极大地提升了在海量数据环境下的检索效率。 全文搜索是提高数据查询速度的关键技术,常用于WEB应用、文档管理系统等场景,...

    MySQL插件带UI界面更新20220508

    MySQL插件带UI界面更新20220508是一个重要的数据库管理工具,它针对MySQL数据库系统提供了直观的用户界面(UI),使得数据库管理和操作变得更加便捷。在2022年5月8日的这次更新中,可能包含了性能优化、新功能添加、...

    Sphinx全文检索引擎 for Linux v2.0.6

    Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,...

    audit-plugin-mysql-5.7-1.1.4-725-linux-x86_64.zip

    - 需确保MySQL服务器有权限执行安装命令,并且审计插件的路径已经被加入到MySQL的库搜索路径中。 2. **配置审计插件** - 审计插件的配置主要通过修改MySQL的配置文件(如my.cnf)或在运行时使用`SET GLOBAL`命令...

    Sphinx全文检索引擎 for Windows v2.0.6

    Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,...

    mysql-installer-community-5.7.20.0 安装程序,可以安装mysql5.7.20和相关插件

    此外,增强了全文搜索功能,提供更精确的搜索结果。 4. **安全性和审计**:5.7增强了安全特性,包括默认的加密连接、更严格的权限系统以及审计日志功能,有助于满足合规性需求。 5. **复制改进**:改进了复制的...

    Sphinx全文检索引擎 for Windows v2.0.6.zip

    Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,...

Global site tag (gtag.js) - Google Analytics