学会搜索解决问题

一、使用搜索解决90%的问题

  1. 问题描述要准确(可以包含程序运行环境等等),使得查询结果尽可能的有交集。

  2. 找准关键词,可以进行人肉分词。
     会Elasticsearch的人都应该知道搜索引擎会根据字典里面的关键词进行拆分、查询关键字或语义相同的关键字匹配文档,并进行相关度排序。所以浓缩关键字、找准关键字、去掉修饰词哪些废话可以十分有效提高查询效率找到相关问题。
      eg:想要搜索某个 jar包的Maven位置,可以直接搜索:MyBatis Maven,这样直接就搜索到Maven官网的MyBatis 各个版本的Maven Repository了。
    学会搜索解决问题

  3. 英文搜索准确性是最高的。
     英语是地球通用语言,我们的编程语言也是英语,如果我们通过英语查询错误减少了汉语语义错误误导、直接瞄准真正的报错信息。
      eg:如异常错误信息:Refused to load the image ',千万别去翻译或者描述问题。

  4. 搜索引擎推荐
     No1. Google + 英文
     No2. Google + 中文
     No3. Bing + 英文
     hint:弃用百度,垃圾太多。

二、搜索的奇技淫巧

  1. 搜索引擎不拆分使用英文双引号包裹的较长关键词。
     eg,搜索:“Java -菜鸟教程”
    学会搜索解决问题

    eg,搜索:Java -菜鸟教程
学会搜索解决问题

  1. 减号后接关键词为排除该关键词的搜索(个人测试效果不是特别明显)。
     eg,搜索:糖尿病 -广告,排除掉包含“广告”关键词的文档。 相对于正常搜索“糖尿病”来说已经排除掉广告推荐了。
  2. site,站内搜索
     eg,搜索:Spring site:github.com、Spring site:*.com
  3. filetype,文件格式搜索
     eg,搜索:Spring filetype:pdf、Spring filetype:dox

三、解决问题步骤(下面全是干货)

 每个人都有他独特的方式。
 某姐:
  按功能模块划分去找准问题发生地,以此递归不断缩小范围。知道具体哪行代码错误后问题差不多也就迎刃而解了!。
 某gradle大佬:
  第一步:看日志,看错误提示信息(积累差错经验,提高开发能力);仔细看一定要把错误信息看明白!如果错误信息都没有明白谈何解决问题,你连搜索什么不明确!!!。
  第二步:打开浏览器输入关键词搜索; 为什么是关键词呢?涉及到搜索引擎底层原理建议大家了解一下Elasticsearch,输入关键词可以有效的划分搜索领域,甚至还可以一步步的根据关键词缩小搜索领域使得搜索结果更为精确!!!!。
  第三步:Debug查错,需要有一定的技术积累和查错经验。!!!!!

四、提问

 提问之前不要假设对方对你的问题有所了解!!!问题应该描述清楚尽可能的站在对方的立场去描述问题。让对方花的气力越小问题越容易被解决。
 那如何提问才是一个好的提问呢?让对方不在追问就是一个好的提问。还有就是重现问题,重现问题,重现问题!!!!!!
 提供尽可能多的信息:环境、问题背景、你的预期与现在的结果不一样在哪里。最好是提供一个完整的GitHub仓库作为testcase,如果需要数据库缓存请优先准备好脚本 ----- > 自动配置。给他人方便节省时间节省精力就是方便自己。