一、Lucene

Lucene是一个全文检索的工具包,是一堆jar包,不能单独运行,不能独立对外提供服务。
优点:部署简单,它只是应用程序的一个依赖包,不需要独立部署
缺点:1、应用只能单服务器部署,集群部署有问题,全文索引需要在多台应用服务器间同步,是有状态的请求。
2、开发难度偏大,编写的代码量会比较大
3、性能一般,要考虑性能问题。

二、MySQL 5.7.6以上

从MySQL 5.7.6开始,MySQL内置了ngram全文检索插件,用来支持中文分词,并且对MyISAM和InnoDB引擎有效。
优点:开发简单;不需要额外引入Elasticsearch这样的搜索引擎服务器。
缺点:1、中文分词不准确
2、性能不高
3、数据量不大

三、MySQL+IK分词器

在MySQL5.6以下,只有MyISAM引擎支持全文检索。在MySQL5.6以上Innodb引擎也提供支持全文检索。相应字段需要建立FULLTEXT索引。
MySQL5.7.6以下只支持英文全文索引,不支持中文全文索引,需要利用IK分词器把中文段落拆分成单词。
优点:比方案2中文分词更准确;不需要额外引入Elasticsearch这样的搜索引擎服务器。
缺点:1、性能不高
2、数据量不大

四、Elasticsearch搜索引擎
当前的主流技术,重点推荐!互联网公司基本都在使用!功能丰富,性能高,支持的数据量大,可以集群部署,动态扩展性能。
缺点:1、需要一定的学习成本
2、需要独立部署

本人一直想开发一款可以实现全文检索的小工具,同时具备简单的文档分类、管理的功能。在网上搜索对比,发现一款不错的开源的国产软件,基于Elasticserch构建的文档型知识库管理系统:科亿知识库。
科亿知识库基于强大的Elasticsearch检索引擎技术构建,检索能力强大,支持最全面的检索特性,同时检索性能可以无限可能的扩展,支持高达百亿级别的记录数量。笔者目前已经把这款软件在公司内部署,用来管理日常项目的文档和技术文档,非常小巧方便。

全文检索四种技术解决方案相关推荐

  1. iOS 多线程的四种技术方案

    iOS 多线程的四种技术方案 image pthread 实现多线程操作 代码实现: void * run(void *param) {for (NSInteger i = 0; i < 100 ...

  2. 常见采集脑电信号的四种技术

    目录 脑电图(Electroencephalography,EEG) 皮层脑电图(Electrocorticography, ECoG) 深度电极(Depth electrode) 功能磁共振成像(F ...

  3. android自定义键盘遮挡,Android软键盘遮挡的四种完美解决方案

    一.问题概述 在编辑框输入内容时会弹出软键盘,而手机屏幕区域有限往往会遮住输入界面,我们先看一下问题效果图: 输入用户名和密码时,系统会弹出键盘,造成系统键盘会挡住文本框的问题,如图所示: 输入密码时 ...

  4. 秀场直播主播pk实现的四种技术架构

    秀场互动直播是 RTC 技术应用的常见场景,虽然主播PK 的业务逻辑不算复杂,但由于在标准直播模式和主播PK 模式的切换过程中容易产生卡顿.黑屏等现象,为了在优雅实现业务逻辑的同时,最大程度缓解类似的 ...

  5. 区块链监管难题争论不休,这里具体谈谈辅助监管的四种技术

    在近日上海举行的峰会上,拓链科技CEO陈彦丰进行了区块链监管科技具体技术分析的演讲.据雷锋网了解,拓链科技是一家专注数字资产托管.保管的公司. 在陈彦丰看来,既有监管与加密经济.数字资产的矛盾愈发明显 ...

  6. 私有云存储的四种技术分析

    私有云项目中,将面临选择存储方案,在业内常见有四种方案,也相应针对四种不同的应用场景.我们从简单到复杂,为大家再次介绍一下. 一.本地磁盘(DAS存储) 我们直接在云服务器(物理机中)通过PCI-E. ...

  7. 实现服务器负载均衡常见的四种技术

    为了提高服务器的性能和工作负载能力,企业通常会使用DNS服务器.网络地址转换等技术来实现多服务器负载均衡,特别是目前企业对外的互联网Web网站,许多都是通过几台服务器来完成服务器访问的负载均衡. 目前 ...

  8. 一口气说出四种幂等性解决方案,面试官露出了姨母笑~

    什么是幂等性? 幂等是一个数学与计算机学概念,在数学中某一元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同. " 在计算机中编程中,一个幂等操作的特点是其任意多次执行所产生的影 ...

  9. redis 判断存在性_一口气说出四种幂等性解决方案,面试官露出了姨母笑~

    什么是幂等性? 幂等是一个数学与计算机学概念,在数学中某一元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同. " 在计算机中编程中,一个幂等操作的特点是其任意多次执行所产生的影 ...

  10. 这四种攻击单片机的主要技术你了解多少?

    本文来自 成都亿佰特 为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序.如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程 ...

最新文章

  1. 每日一皮:上线一切正常的顺畅感就是如此赏心悦目!
  2. 重磅消息:Redis 6.0.0 稳定版发布
  3. 英特尔CPU控制机制存在隐秘开关 可被黑客利用成为后门
  4. Java:高级之泛型概念引入,泛型可以设置多个类型参数,泛型继承和泛型接口实现,限制泛型可用类型,泛型通配的方式,泛型方法,泛型方法限制泛型可用类型
  5. Tableau实战系列浏览 Tableau 环境(一) -初识tableau操作界面
  6. Android代码实现新建文件夹,并将文件保存到新建的文件夹中
  7. 【thymeleaf】th:with
  8. python自动写作软件_有哪些适合长文的轻量级写作软件值得推荐?
  9. Orchard中如何配置远端发布
  10. Java多线程:线程间通信之volatile与sychronized
  11. 冯诺依曼计算机结构教案,冯诺依曼结构的计算机-同济大学精品课程.PPT
  12. sqlmap的简单用法
  13. linux下dds软件,【数据库】Linux 单实例环境下实现Oracle数据库和DDS软件的开机自动重启...
  14. openstack 虚拟机如何修改ip地址
  15. Mac 技巧 | CAD 汉化后无法新建模板怎么办?
  16. 洛谷P2122 还教室
  17. Spire.Office for Java 7.5.4
  18. ansible ---- 主机文件编写--在运行时显示自定义主机名称
  19. 电源 PFC(功率因数校正)电路拓扑,共计100多份,内含A PFC,连续断续,交错,维也纳,各功率段的PFC电路
  20. App推广:ASO策略篇,清榜频发,优化热情不减

热门文章

  1. 如何看计算机几核,如何查看电脑CPU是几核的?,这几步你要了解
  2. 邻接矩阵(Adjacency Matrix)
  3. Android app开发:代码切换移动数据走SIM1/SIM2
  4. 【DP】饥饿的WZK(hunger)
  5. html+js 实现 推箱子 贪吃蛇和简单的飞机大战
  6. 共享LPT口打印机打印时,注意事项
  7. 心理学效应:阿基米德与酝酿效应
  8. HTML2——图像、超链接
  9. 二,变量(variable)
  10. 如何用计算机直接做工资表,超简单一招!用Excel十秒快速制作工资条