世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

自定义分析器 :

  1. Character filters :
        1. 作用 : 字符的增、删、改转换
        2. 数量限制 : 可以有0个或多个
        3. 内建字符过滤器 :
            1. HTML Strip Character filter : 去除html标签
            2. Mapping Character filter : 映射替换
            3. Pattern Replace Character filter : 正则替换
  2. Tokenizer :
        1. 作用 :
            1. 分词
            2. 记录词的顺序和位置(短语查询)
            3. 记录词的开头和结尾位置(高亮)
            4. 记录词的类型(分类)
        2. 数量限制 : 有且只能有一个
        3. 分类 :
            1. 完整分词 :
                1. Standard
                2. Letter
                3. Lowercase
                4. whitespace
                5. UAX URL Email
                6. Classic
                7. Thai
            2. 切词 :
                1. N-Gram
                2. Edge N-Gram
            3. 文本 :
                1. Keyword
                2. Pattern
                3. Simple Pattern
                4. Char Group
                5. Simple Pattern split
                6. Path
  3. Token filters :
        1. 作用 : 分词的增、删、改转换
        2. 数量限制 : 可以有0个或多个
        3. 分类 :
            1. apostrophe
            2. asciifolding
            3. cjk bigram
            4. cjk width
            5. classic
            6. common grams
            7. conditional
            8. decimal digit
            9. delimited payload
            10. dictionary decompounder
            11. edge ngram
            12. elision
            13. fingerprint
            14. flatten_graph
            15. hunspell
            16. hyphenation decompounder
            17. keep types
            18. keep words
            19. keyword marker
            20. keyword repeat
            21. kstem
            22. length
            23. limit token count
            24. lowercase
            25. min_hash
            26. multiplexer
            27. ngram
            28. normalization
            29. pattern_capture
            30. pattern replace
            31. porter stem
            32. predicate script
            33. remove duplicates
            34. reverse
            35. shingle
            36. snowball
            37. stemmer

今天演示 : 34-37

# reverse token filter
# 作用 : 分词反转GET /_analyze
{"tokenizer" : "whitespace","filter"    : ["reverse"],"text"      : ["hello gooding me"]
}# 结果
{"tokens" : [{"token" : "olleh","start_offset" : 0,"end_offset" : 5,"type" : "word","position" : 0},{"token" : "gnidoog","start_offset" : 6,"end_offset" : 13,"type" : "word","position" : 1},{"token" : "em","start_offset" : 14,"end_offset" : 16,"type" : "word","position" : 2}]
}
# shingle token filter
# 作用   : 分词重复显示,连词
# 配置项 :
#   1. max_shingle_size :
#   2. min_shingle_size :
#   3. output_unigrams  : 是否输出原始值,默认true
#   4. output_unigrams_if_no_shingles : 如果没有shingle则输出原始值,如果有则输出shingle
#   5. token_separator  : shingle的连接符,默认空格
#   6. filter_token     : 占位符,如去除停用词后的位置由filter_token指定的词代替,默认下划线GET /_analyze
{"tokenizer": "whitespace","filter": [{"type"      : "stop","stopwords" : ["good"]}, {"type"            : "shingle","token_separator" : "+"}],"text": ["hello good me this is a dog"]
}# 结果
{"tokens" : [{"token" : "hello","start_offset" : 0,"end_offset" : 5,"type" : "word","position" : 0},{"token" : "hello+_","start_offset" : 0,"end_offset" : 11,"type" : "shingle","position" : 0,"positionLength" : 2},{"token" : "_+me","start_offset" : 11,"end_offset" : 13,"type" : "shingle","position" : 1,"positionLength" : 2},{"token" : "me","start_offset" : 11,"end_offset" : 13,"type" : "word","position" : 2},{"token" : "me+this","start_offset" : 11,"end_offset" : 18,"type" : "shingle","position" : 2,"positionLength" : 2},{"token" : "this","start_offset" : 14,"end_offset" : 18,"type" : "word","position" : 3},{"token" : "this+is","start_offset" : 14,"end_offset" : 21,"type" : "shingle","position" : 3,"positionLength" : 2},{"token" : "is","start_offset" : 19,"end_offset" : 21,"type" : "word","position" : 4},{"token" : "is+a","start_offset" : 19,"end_offset" : 23,"type" : "shingle","position" : 4,"positionLength" : 2},{"token" : "a","start_offset" : 22,"end_offset" : 23,"type" : "word","position" : 5},{"token" : "a+dog","start_offset" : 22,"end_offset" : 27,"type" : "shingle","position" : 5,"positionLength" : 2},{"token" : "dog","start_offset" : 24,"end_offset" : 27,"type" : "word","position" : 6}]
}
# snowball token filter
# 作用 : 词干提取GET /_analyze
{"tokenizer" : "whitespace","filter"    : ["snowball"],"text"      : ["hello gooding me"]
}# 结果
{"tokens" : [{"token" : "hello","start_offset" : 0,"end_offset" : 5,"type" : "word","position" : 0},{"token" : "good","start_offset" : 6,"end_offset" : 13,"type" : "word","position" : 1},{"token" : "me","start_offset" : 14,"end_offset" : 16,"type" : "word","position" : 2}]
}
# stemmer token filter
# 作用   : 词干提取
# 配置项 :
#   1. language : 多种语言
#   2. name     : 语言的别名GET /_analyze
{"tokenizer" : "whitespace","filter"    : ["stemmer"],"text"      : ["hello gooding me"]
}# 结果
{"tokens" : [{"token" : "hello","start_offset" : 0,"end_offset" : 5,"type" : "word","position" : 0},{"token" : "good","start_offset" : 6,"end_offset" : 13,"type" : "word","position" : 1},{"token" : "me","start_offset" : 14,"end_offset" : 16,"type" : "word","position" : 2}]
}

es - elasticsearch自定义分析器 - 内建分词过滤器 - 10相关推荐

  1. es - elasticsearch 自定义分析器 - 内建分词过滤器 - 11

    世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程. 自定义分析器 : Character filters :     1. 作用 : 字符的增.删.改转换      ...

  2. ElasticSearch自定义分析器(custom analyzer)

    基于elasticsearch7.6.1 和 kibana7.6.1 一.基础知识 一个完整的分析器Analyzer包括如下三个组件: Character Filters: 对文本信息就行预处理,比如 ...

  3. Elasticsearch 自定义分析器Analyzer

    java学习讨论群:725562382 2,自定义分析器Analyzer curl -X PUT "192.168.0.120:9200/simple_example" -H 'C ...

  4. ES(ElasticSearch)自定义分词字典

    1.下载ik分词器 注意版本和包 2.安装 将下载的包解压到plugins中,例如:../elasticsearch\plugins\ik 3.构建停用词和分词词库 1)特定领域有关键词,进行整理去重 ...

  5. es elasticsearch整合kibana,HanLP分词器

    目录 一.准备 二.安装 1.解压 elasticsearch 2.解压 kibana 3.解压 elasticsearch-analysis-hanlp 三.启动&测试 1. elastic ...

  6. Elasticsearch –使用模式替换过滤器和自定义分析器忽略查询中的特殊字符

    使用Elasticsearch 5,我们有一个字段,例如驾驶执照编号,其中的值可能包含特殊字符,并且由于用户在有限的验证范围内输入了值,因此值的大小写不一致. 例如,这些是假设值: CA-123-45 ...

  7. 【Es】ElasticSearch 自定义分词器

    1.分词器 转载:https://blog.csdn.net/gwd1154978352/article/details/83343933 分词器首先看文章:[Elasticsearch]Elasti ...

  8. ES自定义Analyzer扩展IK分词

    IPS产品关键词搜索需求要对英文标题.品牌(英文).规格属性(英文).产品型号.描述属性.商品特征.关键搜索词等字段进行模糊匹配搜索 前期由于拿不到数据也不清楚具体数据是什么样的,并且线上集群也没有安 ...

  9. Elasticsearch 内置分词器

    Elasticsrarch 提供了8中内置分词器,它们可以无需任何配置即可使用.每一个分词器都由3部分组件组成:Character Filters.Tokenizer和Token Filters,这3 ...

最新文章

  1. 如何提高在家办公的效率?
  2. JVM 学习笔记 1. JVM 运行模型
  3. js_调试_01_14 个你可能不知道的 JavaScript 调试技巧
  4. Acwing 252. 树
  5. Linux设备树语法详解【转】
  6. mac实现ssh的免密远程登录
  7. 程序员自我修养笔记1
  8. 基于STM32的电池管理系统触摸屏设计方案
  9. POJ_2823 Sliding Window(单调队列)
  10. Ruby类的创建与使用
  11. OpenGL超级宝典(第7版)笔记12 前三章回顾 OpenGL扩展简介
  12. 后台管理系统前端模板(html + CSS + JavaScript)
  13. Android LinearLayout实现下拉刷新
  14. Windows和Linux下搭建J2sdk的环境
  15. 用色环图帮你搞定配色
  16. win10系统下摄像头无法打开的解决方法
  17. CentOS7设置console口能连接
  18. 同济:004.三角函数(1.1映射与函数)
  19. 优化vue打包chunk-vendors.js 过大
  20. uni-app实现多图片上传

热门文章

  1. A*算法(超级详细讲解,附有举例的详细手写步骤)
  2. rom个性刷机也完美,你刷机了吗?
  3. 运维工程师和网络工程师的区别?
  4. win10设置虚拟内存_Win10安装后必做的优化,解决电脑卡顿问题,实用收藏系列...
  5. Python获取股票数据并绘制相应K线图,看这个就够了!
  6. 为什么说超快恢复二极管MURF1040CT-ASEMI比普通二极管好
  7. Matrix Recurrence
  8. Bootstrap 组件:Glyphicons 字体图标
  9. python爬虫(14)获取淘宝MM个人信息及照片(中)
  10. DIN模型pytorch代码逐行细讲