世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
es内建分析器的学习告一段落,今天做一个总结,希望对大家有所帮助 :
内建分析器 :
1. standard : 标准分析器,根据绝大部分标点分析,并转为小写,中文以字分
2. simple : 简单分析器,根据所有标点分析,并转为小写
3. whitespace : 空格分析器,根据空格分析
4. stop : 停用词分析器,根据所有标点分析,并转为小写,过滤停用词
5. keyword : 关键词分析器,不分
6. pattern : 正则分析器,默认根据非字母分析,并转为小写
7. language : 各种语言分析器
8. fingerprint : 指纹分析器,用于辅助聚类
自定义分析器 : character filter -> tokenizer -> token filter
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. 作用 : 分词
2. 数量 : 有且只有一个
3. 内建分词器 :
1. 完整分词 :
1. Standard : 按绝大多数标点分词,中文按字分词
2. Letter : 按所有标点分词
3. Lowercase : 按所有标点分词并转为小写
4. whitespace : 按空格分词
5. UAX URL Email : 按绝大多数标点分词并能识别url和email
6. Classic : 按绝大多数标点分词,适用于英语,可以识别缩写、公司名、email、host
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 hierarchy : 根据路径拆分
3. token filter :
1. 作用 : 分词过滤
2. 数量 : 0或多个
3. 内建分词过滤器 :
1. 词干提取 :
1. hunspell
2. kstem
3. snowball
4. stemmer
5. porter stem
2. 拼词 :
1. common_grams : 指定词与相邻的词拼接,用于上下文相关的通用词,提高查询的准确性
2. fingerprint : 排序,去重
3. shingle : 指定相邻多个分词拼接为一个分词
3. 切分 :
1. cjk_bigram : 中日韩以2字长度切分
2. edge_ngram : 以首字符开头切分
3. ngram : 根据长度切分
4. truncate : 超过指定长度则且分为指定长度
4. 转换 :
1. apostrophe : 删除撇号后面的所有字符
2. asciifolding : 转为ascii
3. cjk_width : 中日韩标准化
4. classic : classic tokenizer的补充
5. condition : 条件过滤
6. decimal digit : 将特殊语言的数字转为0-9
7. flatten graph : 平铺
8. lowercase : 将分词转为小写
9. min_hash : 最小hash,用于文档相似度查询
10. normalization : 语言规范化
11. pattern replace : 正则替换
12. reverse : 分词反转
13. trim : 去除分词前后空格,适合keyword分词
14. uppercase : 将分词转为大写
5. 过滤 :
1. delimited payload : 根据指定的分隔符将分词流分离为分词和有效负载
2. elision : 默认过滤法语元音
3. length : 过滤不符合指定长度的词
4. limit : 过滤超过一定数量的分词
5. pattern_capture : 根据正则过滤
6. predicate scripts : 根据脚本过滤
7. remove duplicate : 去除同一位置重复的词
8. unique : 去除重复的词
6. 字典 :
1. dictionary decompounder : 额外展示匹配的词
2. hyphenation decompounder : 额外展示匹配的词
3. keep types : 保留指定类型的词
4. keep words : 保留指定词
5. keyword marker : 指定为关键词,不进行词干提取
6. keyword repeat : 额外显示分词的keyword版本
7. 集成 :
1. multiplexer : 集成多种过滤器
8. 分词 :
1. word delimiter : keyword 分词
2. word delimiter graph : keyword 分词