全文搜索引擎和目录搜索引擎的区别是什么(全文搜索引擎依靠一个叫做什么的软件)

lxf2023-05-15 17:00:01

全文索引是MySQL中的一个全文索引。全文索引用于MyISAM表,可以在创建表时或创建表后使用ALTER TABLE或CREATE INDEX在CHAR、VARCHAR或TEXT列上创建全文索引。对于大型数据库,将数据加载到没有全文索引的表中,然后使用ALTER TABLE(或CREATE INDEX)创建索引,速度会非常快。将数据加载到带有全文索引的表中会非常慢。

全文搜索由MATCH()函数完成。

mysql >创建表文章(--> id INT UNSIGNED AUTO _ INCREMENT NOT NULL主键,--> title VARCHAR(200),--> body TEXT,--> full TEXT(title,body)->);查询正常,0行受影响(0.00秒)mysql >插入到文章值-->(NULL,& # 39;MySQL教程& # 39;, 'DBMS代表数据库...')、-> (NULL、& # 39;如何高效使用& # 39, '在你经历了...')、-> (NULL、& # 39;优化MySQL & # 39,'在本教程中,我们将展示...')、-> (NULL、& # 39;1001个MySQL窍门& # 39;,'1.永远不要以root身份运行mysqld。2....')、-> (NULL、& # 39;MySQL与YourSQL & # 39, '在下面的数据库比较中...')、-> (NULL、& # 39;MySQL安全& # 39;, '正确配置后,MySQL...');查询正常,6行受影响(0.00秒)记录:6重复:0警告:0 MySQL > SELECT * FROM articles-> WHERE MATCH(title,body)AGAINST(& # 39;数据库& # 39;);+--+-+| id | title | body |+-+-+-+| 5 | MySQL与YourSQL |在下面的数据库比较中...|| 1 | MySQL教程| DBMS代表数据库...|+ - + - + - +

2 rows in set (0.00 sec)函数MATCH()针对文本集(全文索引中包含的一个或多个列的列集)执行字符串的自然语言搜索。搜索字符串作为针对()的参数给出。搜索以忽略字母大小写的方式执行。MATCH()为表中的每个记录行返回一个相关值。也就是说,搜索字符串和其记录行在MATCH()列表中指定的列的文本之间的相似性度量。

当在WHERE子句中使用MATCH()时(参见上面的示例),返回的记录行将自动按照相关性从高到低的顺序进行排序。相关值是一个非负浮点数。零相关意味着不同。相关性的计算基于记录行中的单词数、行中唯一单词的数量、集合中单词的总数以及包含特殊单词的文档(记录行)的数量。

它还可以执行逻辑模式搜索。这将在下一节中描述。

前面的例子是使用MATCH()函数的一些基本说明。记录行按相似性降序返回。

下一个示例显示了如何检索显式相似性值。如果既没有WHERE子句也没有ORDER BY子句,则返回的行将是无序的。

mysql >选择id,匹配(标题,正文)对(& # 39;教程& # 39;)来自文章;+ - + - +| id | MATCH (title,body)对(& # 39;教程& # 39;) |+ - + - +| 1 | 0.64840710366884 || 2 | 0 || 3 | 0.66266459031789 || 4 | 0 || 5 | 0 || 6 | 0 |+ - + - +

adminjs.cn是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 Adminjs.cn还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 在Adminjs.cn中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!