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

无锡阳山镇网站建设中国遵义门户网站

无锡阳山镇网站建设,中国遵义门户网站,云服务器有哪些,不用模板 网站全文检索介绍 全文检索的发展过程#xff1a; 数据库使用SQL语句#xff1a;select * from table where data like “%检索内容%”出现lucene全文检索工具#xff08;缺点#xff1a;暴露的接口相对复杂#xff0c;且没有效率#xff09;出现分布式检索服务框架solr 数据库使用SQL语句select * from table where data like “%检索内容%”出现lucene全文检索工具缺点暴露的接口相对复杂且没有效率出现分布式检索服务框架solr缺点建立索引期间。solr搜索能力极度下降造成实时索引效率不高出现 Elasticsearch 是以lucene为基础基于Restful接口进行发布 非结构化数据查找方法 顺序扫描法遍历所有文件找到所包含的字符全文检索将非结构化数据中的一部分信息提取重新组织使其变得具有一定结构然后对此有一定结构的数据进行检索。这部分从非结构数据中提取重新组织的信息称之为索引这种先建立索引再对索引进行搜索的过程叫做全文检索full-text search Lucene全文检索流程 ES ES简介 ES与Solr对比 Solr使用zookeeper进行分布式管理而ES自身带有分布式协调管理Solr支持更多格式数据而ES仅支持jsonSolr官方提供功能更多而ES本身更注重核心功能高级功能由第三方插件提供ES在处理实时搜索应用时效高于Solr ES架构模块 Gateway存储索引的文件系统支持多种类型Local本地、Shared分片、Hadoop、AmazonDistributed Lucene Directory分布式的Lucene框架Lucene之上是ES 的模块包括索引模块、搜索模块、映射解析模块ES之上是Discovery、Scripting和第三方插件 DiscoveryES 的节点发现模块不同机器上的ES节点要组成集群需要进行消息通信集群内部master选举等支持多种发现机制如Zen、EC2Scripting用来支持查询语句插入JavaScript、python等脚本语言Scripting模块负责解析这些脚本但使用这些脚本性能较低同时ES也支持多种第三方插件 再往上Transport模块主要是ES的传输模块和JMXJava的管理框架传输模块支持多种传输协议如Thrift、Memacached、http等默认是http再往上就是ES提供的用户接口 核心概念 索引ndex就是一堆有相似结构的文档数据用于区分文档成组即分到一组的文档集合类型Type用于区分索引中的文档即在索引中对数据逻辑分区。比如将博客平台所有数据存储到一个索引中在该索引中可为用户数据、博客数据、评论数据等分别定义一个type文档Document指定了唯一 ID 的最底层或者根对象ES的最小数据单元字段Field定义Document应有的字段 ES与MySQL类比 集群cluster由多个节点组织在一起共同持有整个集群数据注意一个集群有唯一的名字标识默认是“elasticsearch”。一个节点只能通过指定某个集群的名字加入该集群 节点node集群中的一个服务器 一个节点由一个名字标识默认情况是随机的“漫威漫画角色名字” 一个节点可通过配置集群名称方式加入指定集群默认下每个节点都被安排到“elasticsearch”集群中 若启动第一个节点会默认创建并加入到叫“elasticsearch”的集群 分片shard 一个索引可存储超出某节点硬件限制的大量数据比如一个10亿文档的索引占据1T磁盘空间而任一节点都没有这么大的磁盘空间或单个节点处理请求响应太慢。为解决此类问题ES将索引划分为多份shard的能力称为分片。 创建一个索引的时候可指定分片数量每个分片本身就是一个功能完整且独立的“索引”该“索引”可被放置到集群的任何节点 分片的作用 允许水平分割/扩展容量允许在分片上进行分布式、并行的操作进而提高性能/吞吐量 对于一个分片如何分布文档是如何聚合响应搜索请求完全由ES管理对于用户是透明的 副本replica 在分布式环境下任何分片/节点都可能失效导致index无法搜索所以为了保证数据安全会将每个index分片进行复制备份这种拷贝称为副本replica 副本的作用 在分片/节点失效情况下提供高可用性注意到ES的副本分片从不与 原/master 分片置于同一节点上扩展搜索量/吞吐量因为搜索可在所有复制上并行运行 总之每个索引可被分为多个分片每个索引可被复制0-n次。一旦创建副本每个索引就有了主分片和副本分片。分片和副本的数量可在索引创建时指定创建完成后可改变副本数量但无法改变分片的数量 默认情况下ES分片配置是5、副本数配置是1如果集群至少2个节点该索引将会有5个主分片、5个副本分片完全拷贝该索引总共有10个分片 分词查询 举例说明 文本“我正在学习数据结构和算法” 对文本查询一般分为三种 模糊查询类似sql中的like查询 “学习”、“数据结构”、“算法”能搜索到结果精确搜索文本内容与搜索关键词一致 关键词一定要是“我正在学习数据结构和算法”才匹配分词搜索对搜索关键字和搜索内容都进行分词只要匹配到一个分词内容就命中相关内容 “算法之美”也能搜索到结果因为分词搜索只需关键字的分词匹配到即可用模糊查询是无法搜索出结果 在ES中使用term、match、match_phrase、keyword进行相关搜索 涉及多个关键字 text和keyword是数据类型对磁盘待查询数据是否进行分词 text分词在写入磁盘时分割成多个独立单词然后存入倒排索引。查询时也是以单词维度进行匹配keyword不分词存放整个短语 math和term是搜索方式是数据查询时要查询的短语是否进行分词 match对搜索的内容进行分词拿分词数据去倒排索引中查询term不对搜索内容进行分词是完全匹配 数据准备在索引base-product-spu-info中有一条数据 { spuName : 【市场价2532】HUAWEI WATCH 2 Pro 4G智能手表 移动支付 }查看其分词结果 GET base-product-spu-info/_analyze { analyzer: standard,text: 【市场价2532】HUAWEI WATCH 2 Pro 4G智能手表 移动支付 } // 分词结果市|场|价|2532|huawei|watch|2|pro|4g|智|能|手|表|移|动|支|付term搜索 term搜索对搜索词不分词但还是会对要搜索的字段进行分词。一旦加上keyword属性就不对数据进行分词变成精确搜索 注意默认情况下不加keyword属性使用的是text 搜索关键字“智”termtext GET base-product-spu-info/_search {query: {term: {spuName: {value: 智}}} } // 结果搜索出数据QueryBuilders.termQuery(spuName, 智);搜索关键字“智能” 结果无匹配数据分词结果中无此分词搜索关键字“Pro” 结果无匹配数据搜索关键字“pro” 结果搜索出数据搜素关键字“【市场价2532】HUAWEI WATCH 2 Pro 4G智能手表 移动支付” 结果无匹配数据因为搜索词未分词搜索关键字“【市场价2532】HUAWEI WATCH 2 Pro 4G智能手表 移动支付”【加上keyword关键字】termkeyword GET base-product-spu-info/_search {query: {term: {spuName.keyword: {value: 【市场价2532】HUAWEI WATCH 2 Pro 4G智能手表 移动支付}}} } // 结果搜索出数据match搜索 match会对搜索词进行分词再进行分词搜索同时不加keyword的情况下数据也会分词 GET base-product-spu-info/_search {query: {match: {spuName: 手机}} } // 结果搜索出数据分词为“手|机”命中数据分词QueryBuilders.matchQuery(spuName, 手机);match_phrase搜索 match_phrase搜索为短语搜索要求短语中所有分词必须同时出现在文档中同时位置必须一致 GET base-product-spu-info/_search {query: {match_phrase: {spuName: 智能手表}} } // 结果搜索出数据QueryBuilders.matchPhraseQuery(“spuName”,智能手表);假若搜索关键字“智能手表1”则无法匹配数据因为分词“1”并不在数据分词中所以无法命中。同样的“手表智能”也无法命中 match_phrase_prefix 与match_phrase用法类似区别在于它允许对最后一个词条进行前缀匹配 GET base-product-spu-info/_search {query: {match_phrase_prefix: {spuName: 智能手表}} } // 结果搜索出数据 QueryBuilders.matchPhrasePrefixQuery(spuName,智能手表)说明此处“智能手表”进行分词其中“智|能|手”与分词进行匹配“表”可进行前缀匹配类似“表%”意味着若分词表中存在“表现、表示、表哥我出来了哦”等分词时也能命中。 总结 token分词后的单词小写start_offset在短语中的开始位置end_offset短语中的结束位置position单词在短语中的位置即第几个单词 总结比如有一个文档字段“717 Hendrickson Place”分词结果如上图 对关键字“717 Hendrickson Place”使用【termkeyword】搜索 结果有结果关键词不分词精确匹配对关键字“717 Hendrickson Place01”使用【termkeyword】搜索 结果无匹配结果改动了Place对关键字“717 Hendrickson Place”使用【matchkeyword】搜索 结果有结果数据字段不分词精确匹配对关键字“717 Hendrickson Place01”使用【matchkeyword】搜索 结果无匹配结果数据字段不分词精确匹配对关键字“717 Hendrickson Place”使用【termtext】搜索 结果无匹配结果关键词未分词字段数据分词“717 Hendrickson Place”未名中分词对关键字“717 Hendrickson Place”使用【matchtext】搜索 结果有结果关键词和字段数据都分词“717”分词命中对关键字“717 Hendrickson Place01”使用【matchtext】搜索 结果有结果这里改动了Place“717”分词命中对关键字“Hendrickson”使用【termtext】搜索 结果无匹配结果关键词未分词字段数据分词分词未命中对关键字“hendrickson”使用【termtext】搜索 结果有结果Hendrickson改为小写 hendrickson
http://www.huolong8.cn/news/19183/

相关文章:

  • 民族服装的网站建设做外贸怎么找客户
  • 正规网站建设公司哪个比较好住房建设部网站 保定
  • 网站开发公司云鲸互创怎么联系网站建设合同书范本
  • 专业素材网站无锡祥搜做网站推广
  • 做 爱 网站视频建筑人才网站哪个比较好
  • 北京网站优化推广分析山西运城给网站做系统的公司
  • 石家庄最好的网站建设公司哪家好网上给别人做设计的网站
  • 高陵县建设局网站photoshop网站模板设计教程视频
  • 做国外衣服的网站新闻类网站开发
  • 网站被刷流量怎么办网站运营的概念
  • 贵阳网站开发哪家便宜中山企业网站建设
  • 上海做网站最低价页面访问界面紧急升级通知
  • 写作网站私密网站设计例子
  • 门户网站建设价格搜索优化网络推广
  • 软件公司网站设计与制作怎么做直播网站超管
  • 网站模版 之星江苏初中课程基地建设网站
  • 深圳知名的网站公司简介怎么样用dw做网站
  • 东莞知名网站优化公司大宗现货交易平台
  • 网站建设编辑wordpress文件无法创建目录
  • 唯品会网站建设建议网站建设案例平台
  • 哈尔滨专业网站制作公司英文广告网站模板免费下载
  • 网站商城功能模块小城镇建设 网站官方
  • 广州个人网站建设网站报价表对比表怎么做
  • 网站设计公司山东烟台电子商务产品有哪些
  • 加强门户网站建设提升开发网站定制
  • 中原区建设局网站wordpress上传视频教程
  • 网站建设可以在家做吗wordpress主页怎么做
  • 最新自助建站源码济南高端定制网站建设
  • 淘宝类网站开发wordpress4.0.1
  • wordpress建站项目互联网营销的优势