首页 文章 精选 留言 我的

精选列表

搜索[手动],共10007篇文章
优秀的个人博客,低调大师

Elasticsearch深度探秘搜索技术_在案例中体验如何手动控制全文检索结果的精准度

课程大纲 1、为帖子数据增加标题字段 POST/forum/article/_bulk {"update":{"_id":"1"}} {"doc":{"title":"thisisjavaandelasticsearchblog"}} {"update":{"_id":"2"}} {"doc":{"title":"thisisjavablog"}} {"update":{"_id":"3"}} {"doc":{"title":"thisiselasticsearchblog"}} {"update":{"_id":"4"}} {"doc":{"title":"thisisjava,elasticsearch,hadoopblog"}} {"update":{"_id":"5"}} {"doc":{"title":"thisissparkblog"}} 2、搜索标题中包含java或elasticsearch的blog 这个,就跟之前的那个term query,不一样了。不是搜索exact value,是进行full text全文检索。 match query,是负责进行全文检索的。当然,如果要检索的field,是not_analyzed类型的,那么match query也相当于term query。 GET/forum/article/_search { "query":{ "match":{ "title":"javaelasticsearch" } } } 3、搜索标题中包含java和elasticsearch的blog 搜索结果精准控制的第一步:灵活使用and关键字,如果你是希望所有的搜索关键字都要匹配的,那么就用and,可以实现单纯match query无法实现的效果 GET/forum/article/_search { "query":{ "match":{ "title":{ "query":"javaelasticsearch", "operator":"and" } } } } 4、搜索包含java,elasticsearch,spark,hadoop,4个关键字中,至少3个的blog 控制搜索结果的精准度的第二步:指定一些关键字中,必须至少匹配其中的多少个关键字,才能作为结果返回 GET/forum/article/_search { "query":{ "match":{ "title":{ "query":"javaelasticsearchsparkhadoop", "minimum_should_match":"75%" } } } } 5、用bool组合多个搜索条件,来搜索title GET/forum/article/_search { "query":{ "bool":{ "must":{"match":{"title":"java"}}, "must_not":{"match":{"title":"spark"}}, "should":[ {"match":{"title":"hadoop"}}, {"match":{"title":"elasticsearch"}} ] } } } 6、bool组合多个搜索条件,如何计算relevance score must和should搜索对应的分数,加起来,除以must和should的总数 排名第一:java,同时包含should中所有的关键字,hadoop,elasticsearch 排名第二:java,同时包含should中的elasticsearch 排名第三:java,不包含should中的任何关键字 should是可以影响相关度分数的 must是确保说,谁必须有这个关键字,同时会根据这个must的条件去计算出document对这个搜索条件的relevance score 在满足must的基础之上,should中的条件,不匹配也可以,但是如果匹配的更多,那么document的relevance score就会更高 { "took":6, "timed_out":false, "_shards":{ "total":5, "successful":5, "failed":0 }, "hits":{ "total":3, "max_score":1.3375794, "hits":[ { "_index":"forum", "_type":"article", "_id":"4", "_score":1.3375794, "_source":{ "articleID":"QQPX-R-3956-#aD8", "userID":2, "hidden":true, "postDate":"2017-01-02", "tag":[ "java", "elasticsearch" ], "tag_cnt":2, "view_cnt":80, "title":"thisisjava,elasticsearch,hadoopblog" } }, { "_index":"forum", "_type":"article", "_id":"1", "_score":0.53484553, "_source":{ "articleID":"XHDK-A-1293-#fJ3", "userID":1, "hidden":false, "postDate":"2017-01-01", "tag":[ "java", "hadoop" ], "tag_cnt":2, "view_cnt":30, "title":"thisisjavaandelasticsearchblog" } }, { "_index":"forum", "_type":"article", "_id":"2", "_score":0.19856805, "_source":{ "articleID":"KDKE-B-9947-#kL5", "userID":1, "hidden":false, "postDate":"2017-01-02", "tag":[ "java" ], "tag_cnt":1, "view_cnt":50, "title":"thisisjavablog" } } ] } } 7、搜索java,hadoop,spark,elasticsearch,至少包含其中3个关键字 默认情况下,should是可以不匹配任何一个的,比如上面的搜索中,this is java blog,就不匹配任何一个should条件 但是有个例外的情况,如果没有must的话,那么should中必须至少匹配一个才可以 比如下面的搜索,should中有4个条件,默认情况下,只要满足其中一个条件,就可以匹配作为结果返回 但是可以精准控制,should的4个条件中,至少匹配几个才能作为结果返回 GET/forum/article/_search { "query":{ "bool":{ "should":[ {"match":{"title":"java"}}, {"match":{"title":"elasticsearch"}}, {"match":{"title":"hadoop"}}, {"match":{"title":"spark"}} ], "minimum_should_match":3 } } } 梳理一下学到的知识点 1、全文检索的时候,进行多个值的检索,有两种做法,match query;should 2、控制搜索结果精准度:and operator,minimum_should_match 深入学习请查看视频讲解:https://www.roncoo.com/course/view/f6c7d5f0eef34b20b280621e42facbcf

优秀的个人博客,低调大师

记录ALiYun EMR常用服务的手动启动和停止命令(hdfs/yarn/mr-jobhistory/zk/spark-history)

说明:在ssh,用root用户登录到header(master)机器上,手工执行以下命令进行业务调试。 常用命令: 1. env (忘记是大写ENV,还是小写env,来查看环境变量) 2. cat /etc/hosts (查看EMR集群机器的hostname ip配置) 3. 在header机器上,切换到hadoop用户后,可以 ssh@emr-worker-1 直接登录到worker-1机器上,因为集群的机器,hadoop用户已经配置互相信任关系。 启动: ###start zk su hadoop -c "/usr/lib/zookeeper-current/bin/zkServer.sh start" for i in `seq 1 2`; do su hadoop -c "ssh emr-worker-${i} /usr/lib/zookeeper-current/bin/zkServer.sh start"; done ###start hdfs su hdfs -c "/usr/lib/hadoop-current/sbin/hadoop-daemon.sh start namenode" su hdfs -c "/usr/lib/hadoop-current/sbin/hadoop-daemon.sh start secondarynamenode" for i in `seq 1 2`; do su hdfs -c "ssh emr-worker-${i} /usr/lib/hadoop-current/sbin/hadoop-daemon.sh start datanode"; done ###start yarn su hadoop -c "/usr/lib/hadoop-current/sbin/yarn-daemon.sh start resourcemanager" for i in `seq 1 2`; do su hadoop -c "ssh emr-worker-${i} /usr/lib/hadoop-current/sbin/yarn-daemon.sh start nodemanager"; done su hadoop -c "/usr/lib/hadoop-current/sbin/yarn-daemon.sh start proxyserver" ###start mapreduce historyserver su hadoop -c "/usr/lib/hadoop-current/sbin/mr-jobhistory-daemon.sh start historyserver" 停止: ###stop spark su hadoop -c "/usr/lib/spark-current/sbin/stop-history-server.sh" ###stop mapreduce historyserver su hadoop -c "/usr/lib/hadoop-current/sbin/mr-jobhistory-daemon.sh stop historyserver" ###stop yarn su hadoop -c "/usr/lib/hadoop-current/sbin/yarn-daemon.sh stop proxyserver" for i in `seq 1 2`; do su hadoop -c "ssh emr-worker-${i} /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop nodemanager"; done su hadoop -c "/usr/lib/hadoop-current/sbin/yarn-daemon.sh stop resourcemanager" ###stop hdfs for i in `seq 1 2`; do su hdfs -c "ssh emr-worker-${i} /usr/lib/hadoop-current/sbin/hadoop-daemon.sh stop datanode"; done su hdfs -c "/usr/lib/hadoop-current/sbin/hadoop-daemon.sh stop secondarynamenode" su hdfs -c "/usr/lib/hadoop-current/sbin/hadoop-daemon.sh stop namenode" ###stop zk su hadoop -c "/usr/lib/zookeeper-current/bin/zkServer.sh stop" for i in `seq 1 2`; do su hadoop -c "ssh emr-worker-${i} /usr/lib/zookeeper-current/bin/zkServer.sh stop"; done

优秀的个人博客,低调大师

你的云还是手动挡的吗?云计算和基础设施自动化不可或缺的五大工具

云栖号:https://www.aliyun.com/#module-yedOfott8第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策! 现代 IT 和云基础架构的自动化已成为刚需。这种快速自动化进程的加速得益于市场上涌现了大量高效的 IT/云自动化工具。但是,IT 主管们选择云自动化工具前往往面临很多挑战,例如缺乏强大的计算功能,数据监视不一致,网络问题以及故障排除。 解决这些关键痛点需要管理基础架构的多个方面,因此没有一种工具可以完成所有这些工作。缺少适当和必要的工具则会使IT系统停机时间大增,从而对业务产生直接负面影响。根据《PagerDuty的数字化运营现状报告》,销售部门是 IT 故障最大的 “受害者”,有 40.4% 的受访者声称销售是受影响最大的非 IT 部门。这将直接影响利润。 因此,在推动 IT 和云基础架构自动化的同时,技术主管们还要确保企业生产力维持最大化。 这意味着技术主管们在为公司选择自动化工具时,必须关注以下方面: 1.满足要求 2.系统支持 3.故障排除 4.生产率 5.预算 以下是一位有着十多年经验的软件开发公司技术顾问,尝试并测试了多种工具后,推荐的目前 IT/云基础架构自动化市场中非常有效的 5 种工具: 01.Ansible Ansible 可自动执行一系列 IT 工作任务,包括配置管理、应用程序部署、云配置等。它专注于 IT 基础架构的各个系统相互交互的方式,而不是一次管理一个组件。 您可以使用名为 Ansible Tower 的 Web 界面轻松管理 Ansible。该工具提供了一系列定价模型,用户可以从基本,标准或高级软件包中进行选择,并获得其使用功能的自定义报价。Ansible Tower 的费用每年在 $5,000 – $14,000 之间。 这是一个用户友好和非常易于管理的自动化工具。 02.Datadog Datadog 主要是针对云应用程序的监控工具。它为您的所有云应用程序,服务器和网络提供了详细的指标。它可以轻松地与其他自动化工具集成,例如 Ansible,Chef,Puppet 等。 Datadog 的定价计划包括 Synthetics、Log Management、Infrastructure 和 APM,分别为每台主机每月 5 美元、1.27 美元、15 美元和 31 美元。可以根据专业版和企业版软件包进一步定价。 Datadog 可帮助快速检测系统中的问题并对其进行故障排除。 因此,这是一个可用来管理云基础架构的相当省时且经济高效的解决方案。 03.Puppet (开源) Puppet 是一种基础架构即代码 (IaC) 工具,它使用户可以定义其基础架构的所需状态并使系统自动化以实现相同的功能。 它监控您的所有系统,并防止与定义状态的任何偏差。从简单的工作流程自动化到基础架构配置和合规性,Puppet 都能做到。开源工具是免费的,而超过 10 个节点的企业模型则需付费。公司可以根据自己的要求获得定制报价。 Puppet 是 Dell 和 Google 等公司的首选,是在保持系统一致性的同时最大化生产率的理想工具。 04.Selenmium (开源) Selenium 主要是为测试 Web 应用程序而创建的,是用于使Web浏览器自动化的强大工具。它是用于 Web 应用程序测试和管理的完美工具。公司可以使用 Selenium 创建快速的错误修复脚本以及开发自动的,渐进式的错误修复机制。 Selenium 结合了多个软件,每种软件都有不同的用途: 1.Selenium 集成开发环境 (IDE); 2.远程控制器 (RC); Web驱动程序; 3.Selenium 网格。 Selenium 是免费的开放源代码软件,可以根据标准 Apache 2.0 许可进行赞助。 它非常易于使用和安装,并且还提供扩展支持。 05.Docker Docker 是专注于代码的持续集成和部署的工具。开发人员可以使用 Dockerfile 轻松创建和管理应用程序。 Dockerfile 在隔离的环境中启用应用程序管理,包括代码、系统文件、库和其他功能。因此,它是从事多云和混合计算的公司的首选。 用户可以从三种企业版 Docker 中进行选择,以管理 Docker 容器,每节点每年 750 美元起。 Docker 节省了大量时间和资源,同时提高了系统的生产力,并且还可以轻松地与现有系统集成。 最后,在敲定最终工具前,你还需要向你的 DevOps 团队咨询以了解最适合的方法。请记住,您应该根据需求不断评估工具,并在必要时进行升级维护。 原文发布时间:2020-01-02本文作者:aqniu本文来自阿里云云栖号合作伙伴“安全牛”,了解相关信息可以关注“安全牛” 云栖号:https://www.aliyun.com/#module-yedOfott8第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册