热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

搜索引擎和mysql_选择哪一种搜索?数据库还是搜索引擎?(已废弃)

注意:AKCMS已于2019年12月27日宣布停止更新,此文档仅供老用户参考,不建议新用户选择AKCMS建站。注意:AKCM

注意:AKCMS已于2019年12月27日宣布停止更新,此文档仅供老用户参考,不建议新用户选择AKCMS建站。

注意:AKCMS6.1.2已取消授权机制,文档中关于授权、服务、技术支持等的内容均已失效。

注意:内置的搜索引擎已在新版中废弃,此文档已过期

AKCMS支持两种搜索:基于数据库的字符串搜索和基于搜索引擎的关键词搜索。

二者各有优劣,需要根据自己网站的情况自行选择。本文综合多个方面进行比较,供大家参考。

数据库搜索的优点:

数据库搜索能对题目、关键词两个字段进行完全匹配,而不管搜索的是不是一个词;比如一篇文章的题目是:《公安部出台新规遏制交通事故 拿驾照难度提高》,通过“照难”搜索,也能搜索到这篇文章,虽然这不是一个词。

搜索引擎搜索则只能针对自定义的词库,或者自动拆分的关键词进行搜索,再拿上一个例子的题目比喻:如果词库里有“驾照”这个词,就可以搜索到这篇文章;如果没有,则搜索不到。

数据库搜索非常简单,直接在模板里插入标签就可以搜索,一个很简单的例子:这就搜索了(当然还可以根据情况加上其他过滤参数,这里仅是一个例子)。

搜索引擎搜索则复杂多了,它需要首先创建搜索引擎,再创建词库(基于关键词字段拆分的不需要事先创建),然后创建排序索引,这些工作做完之后,再在模板中插入标签。和数据库搜索不同的是,需要多加一个参数sid,它的值是搜索引擎的ID。

数据库搜索是实时的,只要你修改了文章,立即会体现在搜索结果中。

搜索引擎搜索则不是实时的,它显示的是索引最后一次更新时的搜索结果。(更新索引可通过计划任务实现定时自动执行)

数据库搜索除了数据库本身之外不额外占用存储空间

搜索引擎搜索除了数据库空间之外,还占用少量的WEB空间,会生成一堆小文件,文件数=词数×(1+排序数)

以上说的都是数据库搜索的优点,也许您要问了,既然数据库搜索这么好,那搜索引擎搜索有什么必要存在呢?其实搜索引擎有以下不可替代的优点:

数据库搜索仅能搜索较小数据量的内容,当数据库较大时就基本不可用了

搜索引擎搜索能支持的数据量比直接搜数据库大百倍以上,当数据量大到一定程度,只能用搜索引擎搜索

数据库搜索较慢,数据量少还不明显,当数据量稍微多一些的时候就能感觉到明显得差别,尤其当列表翻页翻到几百页的时候,就更慢了!

搜索引擎搜索比较快,数据量增加几倍速度也不会下降太多,列表翻页到几百页和前几页的速度差别很小,当搜索量大到一定程度,只能用搜索引擎搜索

数据库搜索当访问量大的时候会使MySQL进程占用CPU和内存都大大增加

搜索引擎搜索会使PHP进程占用CPU和内存增加,但可接受。(只要有访问,就必然会使CPU、内存占用增加)

数据库搜索只能搜索两个字段“题目”和“关键词”,通过指定where参数可以搜索更多字段,但无法搜索正文和扩展字段

搜索引擎搜索可以搜索任何字段,包括:正文和扩展字段

数据库搜索只能按照有限的几个字段排序,速度较慢

搜索引擎搜索可以按照任意整数字段(未来还将支持浮点数字段,即小数)排序,速度较快

数据库搜索只能知道结果中包含指定的关键词

搜索引擎搜索不但知道有哪些结果,还知道哪些结果中出现关键词的次数多,还可以排序

需要指出的是:AKCMS自带的搜索引擎是我们自主开发的一个超轻量级的引擎,任何主机(SAE等分布式应用平台除外)都可以运行。性能、负载等指标与专业的搜索引擎差距是非常明显的。当数据量超过10GB或数据条数超过100万,就应该考虑使用第三方专业的搜索引擎了(需要独立服务器才可以,虚拟主机无法安装)。第三方搜索引擎可以推荐的有lucene、Sphinx等。

请根据以上分析选择搜索的实现方式。



推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
author-avatar
郭先2502898821_918
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有