近几年备受追捧的ElasticSearch(ES)凭借其稳定、可靠、快速的实时搜索,受到大家的好评,维基百科、SoundCloud 将 ES 作为其核心搜索组件。但是 ES 本身对中文分词和搜索比较局限。简单地说一种是单字形式,一种是任意相邻两字成词,两种方式都不能很好的满足现在的中文分词需求,进而影响了搜索结果。因此用户会根据使用情景自定义配置中文分词器,为此海量近期推出的高效、智能的适用于ES的中文分词插件能够快速实现智能分词,更贴近搜索需求。让分词更懂你的搜索!
    插件下载地址:https://github.com/HylandaOpen/elasticsearch-analysis-hlseg
    插件分词效果如何?
    小编抽取市面上主流插件与海量中文智能分词v5.0-ES插件的效果进行对比测试,在众多的分词插件中我们发现了海量分词重点在地名识别、著名人名、外国人名等有很好的识别效果。
    1、地名方面海量分词5.0可以识别并检索出关于地名后缀的结果。
    可以通过搜索“河南”得到“河南省”的结果,搜索“天津”得到“天津市”的搜索结果,而不是简单河南、天津的识别。
    2、著名人物的人名识别更精准,如刘翔、傅莹等。
    部分分词器处理中文分词只有两种方式:一种是单字(unigrams)形式,即简单粗暴的将中文的每一个汉字作为一个词(token)分开;另一种是两字(bigrams)的,也就是任意相邻的两个汉字作为一个词分开。这种简单粗暴的切分方式无法实现时效性较新的人名识别,如刘翔、傅莹等会被识别为单字切开。
    3、外国人名识别方面海量可以将人名识别智能识别。
    “玛利亚 凯利”、“乔治·史密斯”、“玛丽·戴维斯”将完整的外国人名识别出姓氏和名,如“乔治·史密斯”可以被识别为“乔治”和 “史密斯”。
    4、常见词的品牌名称识别方面,海量分词5.0识别的结果中包含实际意义的品牌名称。
    如“乐高”,“吉米作为简单的词,可以被识别,但是词放在文档语境中有其品牌的属性,海量分词识别的结果中可以准确搜索出品牌的结果。
    5、机构名识别方面,海量分词5.0可以识别完整的机构名称,如“天津海量信息技术股份有限公司”,可以完整的识别出全称。
    6、从效率角度,海量分词5.0的效率为300万字/s处理速度,极大地提升了建立索引的性能。
    安装插件的方法

    1. 下载并解压适用于您的海量中文智能分词v5.0-ES插件
    2. 下载并解压海量分词5.0词典
    3. 将词典更新在config目录下
    4. 重新启动elasticsearch

    注:其他相关步骤详情请参考github下说明信息
    如果您需要自主打包,目前只支持ES5.5.1以上版本;
    Quick Example
    1.建立一个 index
    PUT hlseg_search_index { “settings”: { “analysis”: { “analyzer”: { “default”: { “type”: “hlseg_search” } } } } }
    2.建立一个 mapping
    PUT /hlseg_search_index/data/_mapping { “data”: { “properties”: { “title”: { “type”: “text”, “index”: true }, “content”: { “type”: “text”, “index”: true } } } }
    3.高亮显示命中数据
    GET /hlseg_search_index/_search { “query” : { “match” : { “content” : “乐高” } }, “highlight”: { “fields” : { “content” : {} } } }
    关于ElasticSearch
    一、ES的概念
    ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
    ES传说Story
    关于elasticsearch的一个传说,有一个程序员失业了,陪着自己老婆去英国伦敦学习厨师课程。程序员在失业期间想给老婆写一个菜谱搜索引擎,觉得lucene实在太复杂了,就开发了一个封装了lucene的开源项目,compass。后来程序员找到了工作,是做分布式的高性能项目的,觉得compass不够,就写了elasticsearch,让lucene变成分布式的系统。
    二、关于ES的实操案例
    对于一个ToB的产品,Elasticsearch容易部署,上手使用成本非常低,部署完成后企业的非结构化数据很容易通过搜索引擎,极大地提高了用户效率。因此迅速传播开,形成使用的风潮。
    1、2013年,GitHub抛弃了Solr,采用了ElasticSearch做PB级的搜索,“GitHub使用ElasticSearch搜索20TB的数据,包括13亿文件和1300亿行代码”。
    2、维基百科启动以ElasticSearch为基础的核心搜索架构。
    3、SoundCloud使用ElasticSearch为1.8亿用户提供即时而精准的音乐搜索服务。
    4、百度目前广泛使用ElasticSearch作为文本数据分析,采集百度所有服务器上的各类指标数据及用户自定义数据,通过对各种数据进行多维分析展示,辅助定位分析实例异常或业务层面异常。目前覆盖百度内部20多个业务线(包括casio、云分析、网盟、预测、文库、直达号、钱包、风控等),单集群最大100台机器,200个ES节点,每天导入30TB+数据。
    推荐海量中文智能分词v5.0-ES插件的理由

    • 海量分词5.0 可以智能识别多种颗粒度分词,识别效果好,效率高。
    • 海量分词5.0 更新字典在地名、机构名、人名等命名实体识别方面效果有明显的优势。
    • 免费且持续进化的海量分词5.0 插件的迭代速度快,和最新版本保持高度一致。