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

南昌网站制作wordpress图片seo

南昌网站制作,wordpress图片seo,农村自建房设计图效果图,企业内部信息网站如何建设ElasticSearch文档分析 包含下面的过程#xff1a; 将一块文本分成适合于倒排索引的独立的 词条将这些词条统一化为标准格式以提高它们的“可搜索性”#xff0c;或者 recall 分析器执行上面的工作。分析器实际上是将三个功能封装到了一个包里#xff1a; 字符过滤器 首先 将一块文本分成适合于倒排索引的独立的 词条将这些词条统一化为标准格式以提高它们的“可搜索性”或者 recall 分析器执行上面的工作。分析器实际上是将三个功能封装到了一个包里 字符过滤器 首先字符串按顺序通过每个 字符过滤器 。他们的任务是在分词前整理字符串。一个字符过滤器可以用来去掉HTML或者将  转化成 and。 分词器 其次字符串被 分词器 分为单个的词条。一个简单的分词器遇到空格和标点的时候可能会将文本拆分成词条。 Token过滤器 最后词条按顺序通过每个 token 过滤器 。这个过程可能会改变词条例如小写化 Quick 删除词条例如 像 a and the 等无用词或者增加词条例如像 jump 和 leap 这种同义词。 1 内置分析器 Elasticsearch还附带了可以直接使用的预包装的分析器。接下来我们会列出最重要的分析器。为了证明它们的差异我们看看每个分析器会从下面的字符串得到哪些词条 Set the shape to semi-transparent by calling set_trans(5) 标准分析器 标准分析器是Elasticsearch默认使用的分析器。它是分析各种语言文本最常用的选择。它根据 Unicode 联盟 定义的 单词边界 划分文本。删除绝大部分标点。最后将词条小写。它会产生 set, the, shape, to, semi, transparent, by, calling, set_trans, 5 简单分析器 简单分析器在任何不是字母的地方分隔文本将词条小写。它会产生 set, the, shape, to, semi, transparent, by, calling, set, trans 空格分析器 空格分析器在空格的地方划分文本。它会产生 Set, the, shape, to, semi-transparent, by, calling, set_trans(5) 语言分析器 特定语言分析器可用于 很多语言。它们可以考虑指定语言的特点。例如 英语 分析器附带了一组英语无用词常用单词例如 and 或者 the 它们对相关性没有多少影响它们会被删除。 由于理解英语语法的规则这个分词器可以提取英语单词的 词干 。 英语 分词器会产生下面的词条 set, shape, semi, transpar, call, set_tran, 5 注意看 transparent、 calling 和 set_trans 已经变为词根格式 2 分析器使用场景 当我们 索引 一个文档它的全文域被分析成词条以用来创建倒排索引。 但是当我们在全文域 搜索 的时候我们需要将查询字符串通过 相同的分析过程 以保证我们搜索的词条格式与索引中的词条格式一致。 全文查询理解每个域是如何定义的因此它们可以做正确的事 当你查询一个 全文 域时 会对查询字符串应用相同的分析器以产生正确的搜索词条列表。当你查询一个 精确值 域时不会分析查询字符串而是搜索你指定的精确值。 3 测试分析器 有些时候很难理解分词的过程和实际被存储到索引中的词条特别是你刚接触Elasticsearch。为了理解发生了什么你可以使用 analyze API 来看文本是如何被分析的。在消息体里指定分析器和要分析的文本 GET http://localhost:9200/_analyze {analyzer: standard,text: Text to analyze } 结果中每个元素代表一个单独的词条 {tokens: [{token: text,start_offset: 0,end_offset: 4,type: ALPHANUM,position: 1},{token: to,start_offset: 5,end_offset: 7,type: ALPHANUM,position: 2},{token: analyze,start_offset: 8,end_offset: 15,type: ALPHANUM,position: 3}] } token 是实际存储到索引中的词条。 position 指明词条在原始文本中出现的位置。 start_offset 和 end_offset 指明字符在原始字符串中的位置。 4 指定分析器 当Elasticsearch在你的文档中检测到一个新的字符串域它会自动设置其为一个全文 字符串 域使用 标准 分析器对它进行分析。你不希望总是这样。可能你想使用一个不同的分析器适用于你的数据使用的语言。有时候你想要一个字符串域就是一个字符串域—​不使用分析直接索引你传入的精确值例如用户ID或者一个内部的状态域或标签。要做到这一点我们必须手动指定这些域的映射。 5 IK分词器 首先我们通过Postman发送GET请求查询分词效果 GET http://localhost:9200/_analyze {text:测试单词 } ES的默认分词器无法识别中文中测试、单词这样的词汇而是简单的将每个字拆完分为一个词 {tokens: [{token: 测,start_offset: 0,end_offset: 1,type: IDEOGRAPHIC,position: 0},{token: 试,start_offset: 1,end_offset: 2,type: IDEOGRAPHIC,position: 1},{token: 单,start_offset: 2,end_offset: 3,type: IDEOGRAPHIC,position: 2},{token: 词,start_offset: 3,end_offset: 4,type: IDEOGRAPHIC,position: 3}] } 这样的结果显然不符合我们的使用要求所以我们需要下载ES对应版本的中文分词器。 我们这里采用IK中文分词器下载地址为: https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.8.0 将解压后的后的文件夹放入ES根目录下的plugins目录下重启ES即可使用。 我们这次加入新的查询参数analyzer:ik_max_word GET http://localhost:9200/_analyze {text:测试单词,analyzer:ik_max_word } ik_max_word会将文本做最细粒度的拆分ik_smart会将文本做最粗粒度的拆分 使用中文分词后的结果为 {tokens: [{token: 测试,start_offset: 0,end_offset: 2,type: CN_WORD,position: 0},{token: 单词,start_offset: 2,end_offset: 4,type: CN_WORD,position: 1}] } ES中也可以进行扩展词汇首先查询 GET http://localhost:9200/_analyze {text:弗雷尔卓德,analyzer:ik_max_word } 仅仅可以得到每个字的分词结果我们需要做的就是使分词器识别到弗雷尔卓德也是一个词语 {tokens: [{token: 弗,start_offset: 0,end_offset: 1,type: CN_CHAR,position: 0},{token: 雷,start_offset: 1,end_offset: 2,type: CN_CHAR,position: 1},{token: 尔,start_offset: 2,end_offset: 3,type: CN_CHAR,position: 2},{token: 卓,start_offset: 3,end_offset: 4,type: CN_CHAR,position: 3},{token: 德,start_offset: 4,end_offset: 5,type: CN_CHAR,position: 4}] }首先进入ES根目录中的plugins文件夹下的ik文件夹进入config目录创建custom.dic文件写入弗雷尔卓德。同时打开IKAnalyzer.cfg.xml文件将新建的custom.dic配置其中重启ES服务器。 6 自定义分析器 虽然Elasticsearch带有一些现成的分析器然而在分析器上Elasticsearch真正的强大之处在于你可以通过在一个适合你的特定数据的设置之中组合字符过滤器、分词器、词汇单元过滤器来创建自定义的分析器。在 分析与分析器 我们说过一个 分析器 就是在一个包里面组合了三种函数的一个包装器 三种函数按照顺序被执行: 字符过滤器 字符过滤器 用来 整理 一个尚未被分词的字符串。例如如果我们的文本是HTML格式的它会包含像 p 或者 div 这样的HTML标签这些标签是我们不想索引的。我们可以使用 html清除 字符过滤器 来移除掉所有的HTML标签并且像把 Aacute; 转换为相对应的Unicode字符 Á 这样转换HTML实体。一个分析器可能有0个或者多个字符过滤器。 分词器 一个分析器 必须 有一个唯一的分词器。 分词器把字符串分解成单个词条或者词汇单元。 标准 分析器里使用的 标准 分词器 把一个字符串根据单词边界分解成单个词条并且移除掉大部分的标点符号然而还有其他不同行为的分词器存在。 例如 关键词 分词器 完整地输出 接收到的同样的字符串并不做任何分词。 空格 分词器 只根据空格分割文本 。 正则 分词器 根据匹配正则表达式来分割文本 。 词单元过滤器 经过分词作为结果的 词单元流 会按照指定的顺序通过指定的词单元过滤器 。 词单元过滤器可以修改、添加或者移除词单元。我们已经提到过 lowercase 和 stop 词过滤器 但是在 Elasticsearch 里面还有很多可供选择的词单元过滤器。 词干过滤器 把单词 遏制 为 词干。 ascii_folding 过滤器移除变音符把一个像 très 这样的词转换为 tres 。 ngram 和 edge_ngram 词单元过滤器 可以产生 适合用于部分匹配或者自动补全的词单元。 接下来我们看看如何创建自定义的分析器 PUT http://localhost:9200/my_index {settings: {analysis: {char_filter: {_to_and: {type: mapping,mappings: [  and ]}},filter: {my_stopwords: {type: stop,stopwords: [ the, a ]}},analyzer: {my_analyzer: {type: custom,char_filter: [ html_strip, _to_and ],tokenizer: standard,filter: [ lowercase, my_stopwords ]}} }}} 索引被创建以后使用 analyze API 来 测试这个新的分析器 GET http://127.0.0.1:9200/my_index/_analyze {text:The quick  brown fox,analyzer: my_analyzer } 下面的缩略结果展示出我们的分析器正在正确地运行 {tokens: [{token: quick,start_offset: 4,end_offset: 9,type: ALPHANUM,position: 1},{token: and,start_offset: 10,end_offset: 11,type: ALPHANUM,position: 2},{token: brown,start_offset: 12,end_offset: 17,type: ALPHANUM,position: 3},{token: fox,start_offset: 18,end_offset: 21,type: ALPHANUM,position: 4}] }
http://www.sczhlp.com/news/176189/

相关文章:

  • 如何制作个人作品网站黄江镇网站仿做
  • 立白内部网站做网站价位
  • 网站建设后台怎么修改网站 团队
  • 网站建设公司价位腾讯邮箱企业邮箱入口网址
  • 前端角度实现网站首页加载慢优化河北建设执业信息网站
  • 湖北建站管理系统信息wordpress站内信插件
  • 网站布局结构有哪些wordpress 函数重写
  • 个人网站 作品浙江省城乡建设厅网站
  • 阿里云服务器搭建多个网站吾爱源码
  • 网站建设编辑工作总结建设一个电商网站的流程图
  • 课程网站如何建设方案网站建设感受
  • 专门做护肤品网站彩票网站建设教程
  • 做网站的岗位好吗四川省住房建设厅官方网站
  • 秦皇岛网站建设哪里有个人网站 做外贸
  • 自己做视频网站犯法北京怎么样做网站
  • 网站开发服务器框架自己制作网址收款
  • 在线推广网站的方法有哪些网站代码seo优化
  • 免费试用网站 源码建筑公司名称大全简单大气
  • 晋城门户网站建设教学网站开发背景及意义
  • 网站备案流程及步骤wordpress的分类id
  • 网站类推广软文怎么写深圳做网站推荐哪家公司
  • tampermonkey油猴脚本, 动画疯评分显示增强脚本
  • dockercontainerd代理设置脚本
  • 一款专门为 WPF 打造的开源 Office 风格用户界面控件库
  • 网站建设的总结与改进公共服务标准化试点
  • 团购网站app制作网站 添加备案号
  • 网上做网站的WordPress和微信公众号自动回复
  • 网站发语音功能如何做高端网站建设 炫酷
  • 成都公众号小程序开发湘潭sem优化价格
  • asp.net 网站开发项目化教程阜宁网站建设找哪家好