zoukankan      html  css  js  c++  java
  • Elasticsearch Analysis

    Elasticsearch 分词

    Analyzer 的组成

    Analyzer 的组成

    分词器是专门处理分词的组件,Analyzer 由三部分组成

    • Character Filters - 针对原始文本处理,例如去除 html
    • Tokenizer - 按照规则切分为单词
    • Token Filter - 将切分的单词进行加工,小写,删除 stopwords,增加同义词

    Elasticsearch 内置分析器

    分析器 作用
    Standard Analyzer 默认分词器,按词切分,小写处理
    Simple Analyzer 按照非字母切分(符号被过滤),小写处理
    Whitespace Analyzer 按照空格切分,不转小写
    Stop Analyzer 小写处理,停用词过滤(the,a,is)
    Keyword Analyzer 不分词,直接将输入当作输出
    Pattern Analyzer 正则表达式,默认 W+ (非字符分隔)
    Language Analyzers 提供了30多种常见语言的分词器
    Fingerprint Analyzer
    Custom analyzers 自定义分词器

    中文分词

    中文分词的难点

    中文句子,切分成一个一个词(不是一个个字)。英文中,单词有自然的空格作为分隔。一句中文,在不同的上下文,可以有不同的理解:

    这个苹果,不大好吃
    这个苹果,不大,好吃!
    
    一些例子他说的确实在理
    这事的确定不下来
    

    开源的中文分析器

    1. ICU Analyzer - 提供了Unicode支持,可以更好地支持亚洲语言
    2. IK Analyzer - 开源的、好用的中文分析器
    3. THULAC - 清华大学主导的中文分析器

    _analyzer API

    • 直接指定 Analyzer 进行测试

    • 指定索引的字段进行测试

    • 自定义分词器进行测试

    GET _analyze 可以获取分词结果,通过analyzer可以指定分词器。

    GET _analyze
    {
      "analyzer": "standard", 
      "text": "2 running Quick brown-foxes leap over lazy dogs in the summer evening."
    }
    
    GET _analyze
    {
      "analyzer": "simple",
      "text": "2 running Quick brown-foxes leap over lazy dogs in the summer evening."
    }
    
    
    GET _analyze
    {
      "analyzer": "stop",
      "text": "2 running Quick brown-foxes leap over lazy dogs in the summer evening."
    }
    

    安装中文分词器

    POST _analyze
    {
      "analyzer": "icu_analyzer",
      "text": "他说的确实在理”"
    }
    
    
    POST _analyze
    {
      "analyzer": "standard",
      "text": "他说的确实在理”"
    }
    
    
    POST _analyze
    {
      "analyzer": "icu_analyzer",
      "text": "这个苹果不大好吃"
    }
    
    POST books/_analyze
    {
    	"field":"title",
    	"text":"Mastering Elasticsearch"
    }
    
    POST /_analyze
    {
    	"tokenizer":"standard",
    	"filter":["lowercase"],
    	"text":"Mastering Elasticsearch"
    }
    
  • 相关阅读:
    SharePoint下载大文件失败 异常信息: system.OutOfMemoryException
    SharePoint Server 2010 容量管理:软件边界和限制
    PowerShell 备份sharepoint站点命令
    SharePoint 开发自定义WebService
    SPCAMLEditor 10分钟打造一个在线视频播放库
    使用PowerShell批量注册DLL到GAC
    设计模式之二 策略模式
    (转)Github上的热门iOS开源项目:AFNetworking、MagicalRecord、BlocksKit以及XVim
    (转)iOS开发常用的宏 大家一起来收集~
    (转)iOS开发资源:推送通知相关开源项目PushSharp、APNSPHP以及Pyapns等
  • 原文地址:https://www.cnblogs.com/shuiyj/p/13185080.html
Copyright © 2011-2022 走看看