当前位置: 首页 > news >正文

专业公司网站设计企业企业公众号开发

专业公司网站设计企业,企业公众号开发,活动策划公司主要做什么,福州工程建设信息网站Elasticsearch应用#xff08;六#xff09; 1.什么是分词器 ES文档的数据拆分成一个个有完整含义的关键词#xff0c;并将关键词与文档对应#xff0c;这样就可以通过关键词查询文档。要想正确的分词#xff0c;需要选择合适的分词器 2.ES中的默认分词器 fingerprint…Elasticsearch应用六 1.什么是分词器 ES文档的数据拆分成一个个有完整含义的关键词并将关键词与文档对应这样就可以通过关键词查询文档。要想正确的分词需要选择合适的分词器 2.ES中的默认分词器 fingerprint删除所有符号大写转小写重复数据删除排序如果配置了停用词列表停用词也将被删除keyword不分词language用来分析特定语言文本的分析器pattern使用java正则表达式默认非字符分割english英文分析器simple非字母切分符号被过滤所有均小写standard默认的按词切分所有均小写stop停用词过滤其他与simple一样whitespace空格切分不转小写 3.分词器的组成 介绍 Character Filters 在tokenizer之前对文本进行处理。例如删除字符、替换字符。主要是对原始文本的处理Tokenizer 将文本按照一定的规则切割成词条term。例如keyword就是不分词还有ik_smart可以用java开发插实现自己的TokenizerTokenizer Filter 将tokenizer输出的词条做进一步处理。例如大小写转换、同义词处理、拼音处理等。可能具有零个或多个按顺序应用的令牌过滤器 默认的Tokenizer standard按照符号空格拆分letter非字母拆分为单词whitespace空格拆分lowercase等同于letterlowercase token filteruax_url_email等同于standard识别URL Email为单个单词keyword不做任何处理pattern默认模式是\W它在遇到非单词字符时会拆分文本path_hierarchy路径char_groupsimple_patternsimple_pattern_splitclassic经典但是一般只适用于英文Thai Tokenizer泰文分词器ngramedge_ngram 默认的Character Filters 可以配置多个但会影响tokenizer的position和offset信息html_strip去除HTML标签mapping字符串替换pattern_replace正则匹配替换 默认的Token Filters 将Tokenizer输出的单词进行增加修改删除Lowercasestopsynonym 4.分词器API 请求全局分词器 GET /_analyze {analyzer:分词器,text:被分词的文本 }请求某个索引下的分词器 POST /index/_analyze {field:字段名,text:被分词的文本 }自定义分词器 POST /_analyze {tokenizer:分词器,filter:Token Filter,char_filter:,text:被分词的文本 }5.指定分析器 # 指定索引的默认分析器 PUT my_index {settings: {analysis: {analyzer: {default: {type: simple}}}} }# 指定字段的分析器 PUT my_index {mappings: {properties: {title: {type: text,analyzer: whitespace}}} }# 查询时指定分析器 GET my_index/_search {query: {match: {message: {query: Quick foxes,analyzer: stop}}} }# 指定字段的搜索(search time)分析器 # 如果指定搜索分析器则必须指定索引分析器 PUT my_index {mappings: {properties: {title: {type: text,analyzer: whitespace,search_analyzer: simple}}} }# 指定索引的默认分析器与搜索的默认分析器 # 如果提供了搜索分析器则必须指定默认的索引分析器 PUT my_index {settings: {analysis: {analyzer: {default: {type: simple},default_search: {type: whitespace}}}} } 6.自定义分词器 说明 可以在创建索引库的时候通过/settings来配置自定义的analyzer分词器 settings设置 PUT /index {settings:{analysis:{analyzer:{ // 自定义分词器my_analyzer:{ // 自定义分词器名称tokenizer:ik_max_word,filter:pinyin}}}} }自定义分词器 PUT /my_index {settings: {analysis: {analyzer: {my_custom_analyzer:{type:custom,char_filter:[emoticons],tokenizer:punctuation,filter:[lowercase,english_stop]}},tokenizer: {punctuation:{type:pattern,pattern:[.,,,!,?]}},char_filter: {emoticons:{type:mapping,mappings:[:) _happy_,:( _sad_]}},filter: {english_stop:{type:stop,stopwords:_english_}}}} }POST /my_index/_analyze {analyzer: my_custom_analyzer,text: Im a :) person, and you? }7.ES如何确定搜索分析器 analyzer搜索查询中的参数search_analyzer字段的映射参数默认分词器字段分词器如果这些都没指定就使用默认分词器 8.ES如何确定索引分析器 analyzer字段的映射参数analysis.analyzer.default指数设置如果未指定这些参数则使用standard分析器 9.注意 ES仅text字段支持analyzer映射参数analyzer参数指定索引或搜索字段时用于文本分析的分析器除非使用search_analyzer映射参数覆盖否则此分析器将同时用于索引和搜索分析 10.IK分词器 为什么需要 因为内置分词器不支持中文可以看以下默认分词器对中文的效果展示 参考链接 ik分词器github地址https://github.com/medcl/elasticsearch-analysis-ik/ 介绍 是一个ES的插件中文分词器支持自定义词典ik有两种分词器分别是ik_smart , ik_max_word 版本对应 IK版本ES版本master7.x - master6.x6.x5.x5.x1.10.62.4.61.9.52.3.51.8.12.2.11.7.02.1.11.5.02.0.01.2.61.0.01.2.50.90.x1.1.30.20.x1.0.00.16.2 - 0.19.0 下载地址 进入该网址https://github.com/medcl/elasticsearch-analysis-ik/releases 安装到ES中 第一种方式需要下载zip文件 解压zip文件到ES目录下的plugins目录即可重启ES 第二种方式版本需要大于5.5.1 进入到ES目录下的bin目录执行命令自己更换版本 #注意,请将版本替换为自己所需要的版本 ./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.1/elasticsearch-analysis-ik-7.7.1.zip# 其他命令扩展 # 查看已安装插件 elasticsearch‐plugin list # 安装插件 elasticsearch‐plugin install analysis‐icu # 删除插件 elasticsearch‐plugin remove analysis‐icu重启ES 两种分词器介绍 ik_smart会做最粗粒度的拆分比如会将“中华人民共和国国歌”拆分为“中华人民共和国国歌”适合 Phrase 查询ik_max_word会将文本做最细粒度的拆分比如会将“中华人民共和国国歌”拆分为“中华人民共和国中华人民中华华人人民共和国人民人民共和国共和和国国国歌”会穷尽各种可能的组合适合 Term Query 什么是词典 IK分词器根据词典进行分词词典文件在lK分词器的config目录中 main.dic IK中内置的词典。记录了IK统计的所有中文单词IKAnalyzer.cfg.xml 扩展词典 扩展字典 为什么需要扩展字典 因为ik分词器只识别默认的一些词语有一些自造词无法识别例如‘骚年极客时间朋友圈’ 配置扩展字典 进入ik分词器目录下的config目录创建xxx.dic文件修改IKAnalyzer.cfg.xml文件修改内容重启ES 修改内容展示 #注意xxx.dic要与自己建立dic文件名一致 ?xml version1.0 encodingUTF-8? !DOCTYPE properties SYSTEM http://java.sun.com/dtd/properties.dtd propertiescommentIK Analyzer 扩展配置/comment!--用户可以在这里配置自己的扩展字典 --entry keyext_dictxxx.dic/entry!--用户可以在这里配置自己的扩展停止词字典--entry keyext_stopwordsstopword.dic/entry!--用户可以在这里配置远程扩展字典 --!-- entry keyremote_ext_dictwords_location/entry --!--用户可以在这里配置远程扩展停止词字典--!-- entry keyremote_ext_stopwordswords_location/entry -- /propertiesxx.dic格式如下 十多年 李白 传智慧11.拼音分词器 为什么需要拼音分词器 要实现根据字母做补全就必须对文档按照拼音分词 安装拼音分词器参考IK的安装方式 拼音分词器官网https://github.com/medcl/elasticsearch-analysis-pinyin 拼音分词器测试 POST /_analyze {text:如家酒店还不错,analyzer:pinyin } 拼音分词器的问题 默认情况下不会进行分词类似于keyword默认情况下把文本的每一个字都分为了一个拼音默认情况下汉字去掉了同音字问题 同音字问题 拼音分词器适合在创建倒排索引的时候使用但不能在搜索的时候使用因为如果用户输入的是中文也会分词为拼音去匹配就会造成一些没用的文档只希望输入中文就用中文查用了拼音才用拼音分词器 自定义拼音分词器改造 使用自定义的分词器测试的时候需要指定索引库里面不能直接去访问_analyzer那个API去测试需要改为//_analyzer进行测试在创建索引库的时候需要指定mapping中的某个字段的分词器为自定义分词器 创建和搜索使用不同的分词器解决同音字问题
http://www.zqtcl.cn/news/558117/

相关文章:

  • 做网站要以单位手机发博客wordpress
  • 莆田网站建设莆田seo管理系统培训
  • 有一个网站自己做链接获取朋友位置网站关键词数量减少
  • 毕设网站建设论文小程序开发模板
  • 广州网页模板建站电商平台谈双11变冷
  • 用.cc做网站官网可以吗2003系统网站建设
  • 创意网站推荐新手网站
  • 网站编程好学吗免费下载app并安装
  • 广州专业网站制作设计网站建设分几种
  • 有没有专业做艺术品的网站长沙人才市场招聘信息
  • 河池做网站通过邮箱查注册网站
  • 金融互助网站开发网上免费设计效果图
  • 网站开发 例子施工企业质量管理体系应按照我国
  • 义乌建设网站网络营销推广有哪些方法
  • 宿迁建设局网站a类证查询怎么自己搭建梯子
  • 成都网站品牌设计策划网络推广如何收费
  • html5 js全屏滑动网站源码wordpress 插件 破解
  • 做电影网站怎么批量去水印微信用什么小程序可以提取文字
  • 网站开发费用周期域名网站建设方案书模板
  • 织梦网站问题关于政务网站建设工作情况的总结
  • wordpress 拿站网站搭建后如何使用
  • 网站设计应遵循的原则wordpress免费空间
  • 建设网站的特色企业内部培训app软件
  • jsp网站缓存在哪wordpress设置静态页面
  • 百度做网站电话多少东台网页定制
  • 暖通设计网站推荐百度在西安的公司叫什么
  • 天津响应式网站设计网站建设的任务
  • 多语言网站 自助江门建设局网站
  • 宜兴做阿里巴巴网站常州外贸网站设计
  • 长沙米拓建站wordpress最底部版权