简单网站建设的费用,国内可用的免费云端服务器,项目经理岗位职责,比较好写的电子商务论文题目字符过滤器 注意#xff1a;字符过滤器用于在将字符流传递给分词器之前对其进行预处理 html_strip HTML元素替换过滤器
此过滤器会替换掉HTML标签#xff0c;且会转换HTML实体 如#xff1a; 会被替换为 。
{tokenizer: keyword,…字符过滤器 注意字符过滤器用于在将字符流传递给分词器之前对其进行预处理 html_strip HTML元素替换过滤器
此过滤器会替换掉HTML标签且会转换HTML实体 如 会被替换为 。
{tokenizer: keyword,char_filter: [html_strip],text: pIapos;m so bhappy/b!/p
}解析结果
[ \nIm so happy!\n ]因为是 p 标签所以有前后的换行符。如果使用span标签就不会有换行符了。 可配参数说明
escaped_tags 可选字符串数组不包含尖括号 ( ) 的 HTML 元素数组。当从文本中剥离 HTML 时过滤器会跳过这些 HTML 元素。例如设置 [ “p” ] 将会跳过 p HTML 元素。
自定义字符过滤器
{settings: {analysis: {analyzer: {my_analyzer: {tokenizer: keyword,char_filter: [my_custom_html_strip_char_filter]}},char_filter: {my_custom_html_strip_char_filter: {type: html_strip,escaped_tags: [b]}}}}
}自定义字符过滤器 my_custom_html_strip_char_filter 以 html_strip 过滤器为基础设置了跳过 b 标签不过滤。 mapping 键值替换过滤器
配置键和值的映射每当遇到与键相同的字符串时它就会用与该键关联的值替换它们
{tokenizer: keyword,char_filter: [{type: mapping,mappings: [0 零,1 壹,2 贰,3 叁,4 肆,5 伍,6 陆,7 柒,8 捌,9 玖]}],text: 9527就是你的终身代号
}解析结果
{tokens: [{token: 玖伍贰柒就是你的终身代号,start_offset: 0,end_offset: 12,type: word,position: 0}]
}可配参数说明
mappings 必需*字符串数组映射数组每个元素的形式为key value.mappings_path 必需*字符串包含映射的文件的路径key value。 此路径必须是绝对路径或相对于config位置的路径并且文件必须是 UTF-8 编码的。文件中的每个映射必须用换行符分隔。 以上两个参数二选一即可。 pattern_replace 正则替换过滤器
{tokenizer: keyword,char_filter: [{type: pattern_replace,pattern: (\\d{3})(\\d{4})(\\d{4}),replacement:$1****$3}],text: 13199838273
}解析结果
{tokens: [{token: 131****8273,start_offset: 0,end_offset: 11,type: word,position: 0}]
}看到结果你就知道我们示例的作用了关于写法可以看看可配参数的说明。 可配参数说明
pattern 必需Java正则表达式。replacement 替换字符串用 $1…$9来表示正则表达式匹配的内容。注意我们的示例中每一个正则匹配都用了()括号扩起来。flags Java 正则表达式标志。
常用分词器 分析器只能配置一个分词器所以很多分词器的名称和分析器的名称是一致的 标准分词器
standard词器提供基于语法的分词基于 Unicode 文本分割算法并且适用于大多数语言。
POST _analyze
{tokenizer: standard,text: The 2 QUICK Brown-Foxes jumped over the lazy dogs bone.
}解析结果
[ The, 2, QUICK, Brown, Foxes, jumped, over, the, lazy, dogs, bone ]如果仔细对比你还是能发现和 standard 分析器处理结果的区别的。 我们来试试中文
{tokenizer: standard,text: 我是中国人
}解析结果
[我,是,中,国,人]分词是分词了但是貌似不符合我们的要求关于中文的分词我们后面再说。 可配参数说明
max_token_length 单个词语的最大长度。如果词语长度超过该长度则按max_token_length间隔将其拆分。默认为255。
自定义分词器
PUT /person1
{settings: {analysis: {analyzer: {my_analyzer: {tokenizer: my_tokenizer}},tokenizer: {my_tokenizer: {type: standard,max_token_length: 5}}}}
}注意配置参数我们配置了一个自定义的分词器 my_tokenizer 以 standard 为基础类型然后配置了一个自定义的分析器 my_analyzer设置该分析器的分词器为 my_tokenizer 。 letter 字母分词器
只要遇到不是字母的字符分词器就会将文本分解。它对大多数欧洲语言都做得很好但对一些亚洲语言来说就很糟糕因为在这些语言中单词没有用空格分隔。
POST _analyze
{tokenizer: letter,text: The 2 QUICK Brown-Foxes jumped over the lazy dogs bone.
}解析结果
[ The, QUICK, Brown, Foxes, jumped, over, the, lazy, dog, s, bone] lowercase 小写分词器
其作用和 letter 分词器一样只是会将字母转换为小写。此处我们就不贴示例了。
classic 经典分词器
适用于英语文档。此分词器具有对首字母缩写词、公司名称、电子邮件地址和 Internet 主机名进行特殊处理的启发式方法。然而这些规则并不总是有效分词器对除英语以外的大多数语言都不能很好地工作
POST _analyze
{tokenizer: standard,text: The 2 QUICK Brown-Foxes jumped over the lazy dogs bone. email: abccormm.com
}解析结果
{tokens: [{token: The,start_offset: 0,end_offset: 3,type: ALPHANUM,position: 0},{token: 2,start_offset: 4,end_offset: 5,type: ALPHANUM,position: 1},{token: QUICK,start_offset: 6,end_offset: 11,type: ALPHANUM,position: 2},{token: Brown,start_offset: 12,end_offset: 17,type: ALPHANUM,position: 3},{token: Foxes,start_offset: 18,end_offset: 23,type: ALPHANUM,position: 4},{token: jumped,start_offset: 24,end_offset: 30,type: ALPHANUM,position: 5},{token: over,start_offset: 31,end_offset: 35,type: ALPHANUM,position: 6},{token: the,start_offset: 36,end_offset: 39,type: ALPHANUM,position: 7},{token: lazy,start_offset: 40,end_offset: 44,type: ALPHANUM,position: 8},{token: dogs,start_offset: 45,end_offset: 50,type: APOSTROPHE,position: 9},{token: bone,start_offset: 51,end_offset: 55,type: ALPHANUM,position: 10},{token: email,start_offset: 57,end_offset: 62,type: ALPHANUM,position: 11},{token: abccormm.com,start_offset: 64,end_offset: 77,type: EMAIL,position: 12}]
}关于与 standard 分词器的区别可以自行验证一下。 可配参数说明
max_token_length 单个词语的最大长度。如果词语长度超过该长度则按max_token_length间隔将其拆分。默认为255。
path_hierarchy 路径层次分词器
POST _analyze
{tokenizer: path_hierarchy,text: /one/two/three
}解析结果
[ /one, /one/two, /one/two/three ]可配参数说明
delimiter 用作路径分隔符的字符。默认为 /replacement 用于分隔符的可选替换字符。默认为delimiter.buffer_size 单次读取到术语缓冲区的字符数。默认为1024. 术语缓冲区将按此大小增长直到所有文本都被消耗掉。建议不要更改此设置。reverse是否反转默认为false。skip 要跳过的初始标记数。默认为0.
示例2
拆分 - 字符并将它们替换为 / 并跳过前两个标记
PUT /person1
{settings: {analysis: {analyzer: {my_analyzer: {tokenizer: my_tokenizer}},tokenizer: {my_tokenizer: {type: path_hierarchy,delimiter: -,replacement: /,skip: 2}}}}
}{analyzer: my_analyzer,text: one-two-three-four-five
}解析结果
[ /three, /three/four, /three/four/five ]如果设置 reverse 为 true
[ one/two/three/, two/three/, three/ ]uax_url_email 电子邮件分词器
{tokenizer: uax_url_email,text: Email me at john.smithglobal-international.com
}解析结果
[ Email, me, at, john.smithglobal-international.com ]可配参数说明
max_token_length 单个词语的最大长度。如果词语长度超过该长度则按max_token_length间隔将其拆分。默认为255。
令牌过滤器
令牌过滤器是在标记之后执行。es 提供的令牌过滤器非常多我们只列一些可能会有用的来说一说。
uppercase 大写过滤器
{tokenizer : standard,filter : [uppercase],text : the Quick FoX JUMPs
}解析结果
[ THE, QUICK, FOX, JUMPS ]lowercase 小写过滤器
{tokenizer : standard,filter : [lowercase],text : THE Quick FoX JUMPs
}解析结果
[ the, quick, fox, jumps ]stemmer 词干过滤器
{tokenizer: standard,filter: [ stemmer ],text: fox running and jumping jumped
}解析结果
[ fox, run, and, jump, jump ]注意标记提取了词干。比如jumping 和 jumped 提取为了 jump 。 可配参数说明
language 可选字符串用于词干标记的依赖于语言的词干提取算法。可以设置很多语言我们常用的也就 english默认英语german 德语、spanish 西班牙语等等但还是不包括中文。
stop 停用词过滤器
该过滤器默认将如下词语作为停用词
a, an, and, are, as, at, be, but, by, for, if, in, into, is,
it, no, not, of, on, or, such, that, the, their, then, there,
these, they, this, to, was, will, with{tokenizer: standard,filter: [ stop ],text: a quick fox jumps over the lazy dog
}解析结果
[ quick, fox, jumps, over, lazy, dog ]cjk_bigram 中日韩双字母标记过滤器
此过滤器支持中日韩的文字但标记只对文字进行两两组合严格上说对中文的支持也不是十分好。
{tokenizer : standard,filter : [cjk_bigram],text : 我们都是中国人
}解析结果:
{tokens: [{token: 我们,start_offset: 0,end_offset: 2,type: DOUBLE,position: 0},{token: 们都,start_offset: 1,end_offset: 3,type: DOUBLE,position: 1},{token: 都是,start_offset: 2,end_offset: 4,type: DOUBLE,position: 2},{token: 是中,start_offset: 3,end_offset: 5,type: DOUBLE,position: 3},{token: 中国,start_offset: 4,end_offset: 6,type: DOUBLE,position: 4},{token: 国人,start_offset: 5,end_offset: 7,type: DOUBLE,position: 5}]
}除去我们以上介绍的ES 的令牌过滤器还有很多我们就不过多说明了因为他们大多数都是不支持中文的。
文章转载自: http://www.morning.cfmrb.cn.gov.cn.cfmrb.cn http://www.morning.jfxth.cn.gov.cn.jfxth.cn http://www.morning.pxsn.cn.gov.cn.pxsn.cn http://www.morning.nzsdr.cn.gov.cn.nzsdr.cn http://www.morning.wbhzr.cn.gov.cn.wbhzr.cn http://www.morning.tnktt.cn.gov.cn.tnktt.cn http://www.morning.qbfs.cn.gov.cn.qbfs.cn http://www.morning.atoinfo.com.gov.cn.atoinfo.com http://www.morning.lkwyr.cn.gov.cn.lkwyr.cn http://www.morning.nrpp.cn.gov.cn.nrpp.cn http://www.morning.brhxd.cn.gov.cn.brhxd.cn http://www.morning.kqwsy.cn.gov.cn.kqwsy.cn http://www.morning.ytnn.cn.gov.cn.ytnn.cn http://www.morning.ktmpw.cn.gov.cn.ktmpw.cn http://www.morning.kaweilu.com.gov.cn.kaweilu.com http://www.morning.jfjpn.cn.gov.cn.jfjpn.cn http://www.morning.tmtrl.cn.gov.cn.tmtrl.cn http://www.morning.bmnm.cn.gov.cn.bmnm.cn http://www.morning.znsyn.cn.gov.cn.znsyn.cn http://www.morning.eronghe.com.gov.cn.eronghe.com http://www.morning.mbqyl.cn.gov.cn.mbqyl.cn http://www.morning.zcqtr.cn.gov.cn.zcqtr.cn http://www.morning.cbchz.cn.gov.cn.cbchz.cn http://www.morning.bpzw.cn.gov.cn.bpzw.cn http://www.morning.hmdyl.cn.gov.cn.hmdyl.cn http://www.morning.ybnps.cn.gov.cn.ybnps.cn http://www.morning.wgtr.cn.gov.cn.wgtr.cn http://www.morning.hxpff.cn.gov.cn.hxpff.cn http://www.morning.wfzlt.cn.gov.cn.wfzlt.cn http://www.morning.hpprx.cn.gov.cn.hpprx.cn http://www.morning.lhptg.cn.gov.cn.lhptg.cn http://www.morning.ypklb.cn.gov.cn.ypklb.cn http://www.morning.shnqh.cn.gov.cn.shnqh.cn http://www.morning.pbsfq.cn.gov.cn.pbsfq.cn http://www.morning.ylpwc.cn.gov.cn.ylpwc.cn http://www.morning.rnpnn.cn.gov.cn.rnpnn.cn http://www.morning.wzwyz.cn.gov.cn.wzwyz.cn http://www.morning.huxinzuche.cn.gov.cn.huxinzuche.cn http://www.morning.bqqzg.cn.gov.cn.bqqzg.cn http://www.morning.tsxg.cn.gov.cn.tsxg.cn http://www.morning.hgbzc.cn.gov.cn.hgbzc.cn http://www.morning.nwnbq.cn.gov.cn.nwnbq.cn http://www.morning.rlbfp.cn.gov.cn.rlbfp.cn http://www.morning.dzgyr.cn.gov.cn.dzgyr.cn http://www.morning.tpbhf.cn.gov.cn.tpbhf.cn http://www.morning.tbksk.cn.gov.cn.tbksk.cn http://www.morning.wkpfm.cn.gov.cn.wkpfm.cn http://www.morning.jypsm.cn.gov.cn.jypsm.cn http://www.morning.czrcf.cn.gov.cn.czrcf.cn http://www.morning.rcwbc.cn.gov.cn.rcwbc.cn http://www.morning.fgsct.cn.gov.cn.fgsct.cn http://www.morning.qbwtb.cn.gov.cn.qbwtb.cn http://www.morning.nrzbq.cn.gov.cn.nrzbq.cn http://www.morning.rbbgh.cn.gov.cn.rbbgh.cn http://www.morning.ie-comm.com.gov.cn.ie-comm.com http://www.morning.poapal.com.gov.cn.poapal.com http://www.morning.tgxrm.cn.gov.cn.tgxrm.cn http://www.morning.wqpb.cn.gov.cn.wqpb.cn http://www.morning.cfocyfa.cn.gov.cn.cfocyfa.cn http://www.morning.brkrt.cn.gov.cn.brkrt.cn http://www.morning.ylqb8.cn.gov.cn.ylqb8.cn http://www.morning.lgwpm.cn.gov.cn.lgwpm.cn http://www.morning.dwmmf.cn.gov.cn.dwmmf.cn http://www.morning.lgtcg.cn.gov.cn.lgtcg.cn http://www.morning.jghqc.cn.gov.cn.jghqc.cn http://www.morning.cwgn.cn.gov.cn.cwgn.cn http://www.morning.zpfr.cn.gov.cn.zpfr.cn http://www.morning.wphfl.cn.gov.cn.wphfl.cn http://www.morning.wljzr.cn.gov.cn.wljzr.cn http://www.morning.tnjff.cn.gov.cn.tnjff.cn http://www.morning.tmrjb.cn.gov.cn.tmrjb.cn http://www.morning.wdhlc.cn.gov.cn.wdhlc.cn http://www.morning.jpgfq.cn.gov.cn.jpgfq.cn http://www.morning.lxjcr.cn.gov.cn.lxjcr.cn http://www.morning.xhxsr.cn.gov.cn.xhxsr.cn http://www.morning.fbjqq.cn.gov.cn.fbjqq.cn http://www.morning.bpmnz.cn.gov.cn.bpmnz.cn http://www.morning.sgbss.cn.gov.cn.sgbss.cn http://www.morning.aiai201.cn.gov.cn.aiai201.cn http://www.morning.lxdbn.cn.gov.cn.lxdbn.cn