美文网首页MySQL程序员
全文检索四种技术解决方案

全文检索四种技术解决方案

作者: jessehua | 来源:发表于2018-07-10 12:45 被阅读29次

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

    二、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、需要独立部署,需要集群部署

    相关文章

      网友评论

        本文标题:全文检索四种技术解决方案

        本文链接:https://www.haomeiwen.com/subject/wjufpftx.html