为什么学

《What I wish I knew When I was 20》这本书给了我很多启发。作者在书中提到,Stanford 大学培养人才的目标是 ”T形人才“:精通某个领域,但对各个领域都有所涉猎。字母 “T“ 的一竖代表深度,一横代表宽度。具有T型的知识结构是成为企业家的基础。我不禁问自己:我的深度在哪里?宽度在哪里?

作为电子系出身的软件开发者,这一年来我在业余时间也学习了不少东西:

  • 前端开发方面:JS 的几个部分: DOM 和 事件机制, CSS 的几个部分:Box Model, Visual Model
  • 后端方面:较为系统地学习了数据库的基础知识 :ER模型、关系代数和关系演算、索引、查询的基本过程

当然在工作中也学习了很多的东西:

  • 应用软件开发的各个方面:网络、数据库、加密
  • 异步的事件机制 (libevent, gevent)
  • WEB 后端开发:Django
  • Android 开发

一一列举出来,林林总总也不少了,或者”T”型中的那一横已经有点眉目了。但是那一竖呢?深度在哪里?

学什么

同样是上面那本 《What I wish I knew When I was 20》 书中提到,对于个人来说最幸福的职业在于 “兴趣、能力、市场的统一“。

由于工作需要,前段时间用到了 基于 LuceneElasticsearch。经过思考,我发现信息检索(Information Retrival) 对我而言是一个不错的选择。

  1. 兴趣:工作中我觉得这部分内容还是挺吸引我的
  2. 能力:有待检验,不过我自信还是有把这个领域掌握好的
  3. 市场:这个更不用说了。哪个网站、软件、APP 上方没一个搜索框?

因此,我决定深入地学习信息检索领域的知识。具体的来讲,要学的包括:

  • 基础知识
  • 具体应用
  • 系统设计

怎么学

  • 基础知识主要读 《Introduction to Information Retrival》这本书
  • 具体应用主要学习 Lucene 这个库
  • 系统设计主要学习 ElasticSearch 这个项目

当然这三点不一定非要有严格的先后顺序。

Lucene/ElasticSearch 学习系列 (1) 为什么学,学什么,怎么学的更多相关文章

  1. Lucene/ElasticSearch 学习系列 (2) Information Retrival 初步之名词解释

    计算机领域一半是理论,一半是在理论基础之上的应用.要想深入地掌握某个方面的应用,就需要先学习那方面的理论. “搜索”是应用,其背后的理论是 "Information Retrieval&qu ...

  2. Elasticsearch学习系列一(部署和配置IK分词器)

    Elasticsearch简介 Elasticsearch是什么? Elaticsearch简称为ES,是一个开源的可扩展的分布式的全文检索引擎,它可以近乎实时的存储.检索数据.本身扩展性很好,可扩展 ...

  3. Elasticsearch学习系列七(Es分布式集群)

    核心概念 集群(Cluster) 一个Es集群由多个节点(Node)组成,每个集群都有一个共同的集群名称作为标识 节点(Node) 一个Es实例就是一个Node.Es的配置文件中可以通过node.ma ...

  4. Elasticsearch学习系列之term和match查询

    lasticsearch查询模式 一种是像传递URL参数一样去传递查询语句,被称为简单查询 GET /library/books/_search //查询index为library,type为book ...

  5. Elasticsearch学习系列之term和match查询实例

    Elasticsearch查询模式 一种是像传递URL参数一样去传递查询语句,被称为简单查询 GET /library/books/_search //查询index为library,type为boo ...

  6. Elasticsearch学习系列之配置文件详解

    ################################### Cluster ################################### #定义集群名称,默认是elasticse ...

  7. Elasticsearch学习系列之mapping映射

    什么是映射 为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成全文本(Full-text)或精确(Exact-value)的字符串值,Elasticsearch需要知道每个字段里面 ...

  8. Elasticsearch学习系列之多文档操作mget

    测试数据 GET /library/books/1 { "_index": "library", "_type": "books& ...

  9. Elasticsearch学习系列之单模式下API的增删改查操作

    这里我们通过Elasticsearch的marvel插件实现单模式下API的增删改查操作 索引的初始化操作 创建索引之前可以对索引进行初始化操作,比如先指定shard数量以及replicas的数量 代 ...

随机推荐

  1. wxWidgets简单的多线程

    #include <wx/wx.h> #include <wx/thread.h> #include <wx/event.h> #include <wx/pr ...

  2. scala学习笔记(3):类

    1 类 (1) scala把主构造函数放到类的定义中,让定义字段及相应方法变得简单起来. class People(age: Int, name: String) scala会自动将这个类变成publ ...

  3. 【自动化测试】Selenium 下载文件

    用curl确定要下载的文件是什么类型的:另一种方法是使用requests 模块来查找内容类型 文件类型 http://tool.oschina.net/commons 1.先设置下载的目录,下载文件的 ...

  4. Spring AOP简介

    AOP简述 AOP的概念早在上个世纪九十年代初就已经出现了,当时的研究人员通过对面向对象思想局限性的分析研究出了一种新的编程思想来帮助开发者减少代码重复提高开发效率,那就是AOP,Aspect-Ori ...

  5. Oracle 11gR2用gpnp profile存放ASM的spfile路径

    从Oracle 11gR2开始,GI集成了ASM,OCR/VOTEDISK也存放在ASM磁盘组了(11gR2以前需要存放于裸设备中),同时ASM的功能较10g也有很大增强. 我们先引入一个问题:11g ...

  6. 几种ESB(企业服务总线)介绍

    ESB(Enterprise Service Bus,即企业服务总线)是传统中间件技术与XML.Web服务等技术结合的产物.ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素. 企业服务 ...

  7. [python]使用pexpect模块进行批量scp

    #!/usr/bin/env python# -*- coding: utf-8 -*- #wangxiaofei #awcloud自动化测试 import time,osimport threadi ...

  8. 可进行JavaScript代码测试与调试的12个网站

    概述:JavaScript是网站前端开发最为重要的一门编程语言,本文收集了能够在线测试与调试JavaScript代码的12个网站 1.JS Bin JS bin是一个为JavaScript和CSS爱好 ...

  9. 指针数组  数组指针的区别.xml

    pre{ line-height:1; color:#1e1e1e; background-color:#f0f0f0; font-size:16px;}.sysFunc{color:#627cf6; ...

  10. linux中hosts文件的修改

    转载自http://hi.baidu.com/dillisbest/item/5e0b612d011b4cd40e37f9a6 1. 关于/etc/host,主机名和IP配置文件 Hosts - Th ...