Lucene/ElasticSearch 学习系列 (1) 为什么学,学什么,怎么学
为什么学
《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》 书中提到,对于个人来说最幸福的职业在于 “兴趣、能力、市场的统一“。
由于工作需要,前段时间用到了 基于 Lucene的 Elasticsearch。经过思考,我发现信息检索(Information Retrival) 对我而言是一个不错的选择。
- 兴趣:工作中我觉得这部分内容还是挺吸引我的
- 能力:有待检验,不过我自信还是有把这个领域掌握好的
- 市场:这个更不用说了。哪个网站、软件、APP 上方没一个搜索框?
因此,我决定深入地学习信息检索领域的知识。具体的来讲,要学的包括:
- 基础知识
- 具体应用
- 系统设计
怎么学
- 基础知识主要读 《Introduction to Information Retrival》这本书
- 具体应用主要学习 Lucene 这个库
- 系统设计主要学习 ElasticSearch 这个项目
当然这三点不一定非要有严格的先后顺序。
Lucene/ElasticSearch 学习系列 (1) 为什么学,学什么,怎么学的更多相关文章
- Lucene/ElasticSearch 学习系列 (2) Information Retrival 初步之名词解释
计算机领域一半是理论,一半是在理论基础之上的应用.要想深入地掌握某个方面的应用,就需要先学习那方面的理论. “搜索”是应用,其背后的理论是 "Information Retrieval&qu ...
- Elasticsearch学习系列一(部署和配置IK分词器)
Elasticsearch简介 Elasticsearch是什么? Elaticsearch简称为ES,是一个开源的可扩展的分布式的全文检索引擎,它可以近乎实时的存储.检索数据.本身扩展性很好,可扩展 ...
- Elasticsearch学习系列七(Es分布式集群)
核心概念 集群(Cluster) 一个Es集群由多个节点(Node)组成,每个集群都有一个共同的集群名称作为标识 节点(Node) 一个Es实例就是一个Node.Es的配置文件中可以通过node.ma ...
- Elasticsearch学习系列之term和match查询
lasticsearch查询模式 一种是像传递URL参数一样去传递查询语句,被称为简单查询 GET /library/books/_search //查询index为library,type为book ...
- Elasticsearch学习系列之term和match查询实例
Elasticsearch查询模式 一种是像传递URL参数一样去传递查询语句,被称为简单查询 GET /library/books/_search //查询index为library,type为boo ...
- Elasticsearch学习系列之配置文件详解
################################### Cluster ################################### #定义集群名称,默认是elasticse ...
- Elasticsearch学习系列之mapping映射
什么是映射 为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成全文本(Full-text)或精确(Exact-value)的字符串值,Elasticsearch需要知道每个字段里面 ...
- Elasticsearch学习系列之多文档操作mget
测试数据 GET /library/books/1 { "_index": "library", "_type": "books& ...
- Elasticsearch学习系列之单模式下API的增删改查操作
这里我们通过Elasticsearch的marvel插件实现单模式下API的增删改查操作 索引的初始化操作 创建索引之前可以对索引进行初始化操作,比如先指定shard数量以及replicas的数量 代 ...
随机推荐
- [asp.net] 通过JS实现对treeview控件的复选框单选控制。
前端JS代码: //识别不同的浏览器 function getTargetElement(evt) { var elem if (evt.target) { elem = (evt.target.no ...
- 【网络】js调试F12控制台学习
http://www.cnblogs.com/52cik/p/js-console-acquaintance.html console.log 输出信息 http://javascript.ruany ...
- HDU 4662 MU Puzzle 2013 Multi-University Training Contest 6
现在有一个字符串"MI",这个字符串可以遵循以下规则进行转换: 1.Mx 可以转换成 Mxx ,即 M 之后的所有字符全部复制一遍(MUI –> MUIUI) 2.III 可 ...
- Func<T, TResult> 委托的由来和调用和好处(为了高大上,为了白富美)
Func<T, TResult>是系统的内置委托的中最常用的一个.特点就是必须有一个返回值.(func委托有多个重载,所有重载的最后一个参数就是返回值的类型,前面的是参数类型).注:没有返 ...
- source 命令
作用: 当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用source命令,如:source /etc/profile 介绍:source命令也称为“点命令”,也就 ...
- vbScript常用运算符与函数
基本运算 + 数字加法及字符串连接 - 数字减法 * 数字乘法 / 数字除法 Mod 求余数 \ 求商数 & 字符串连接 ^ 次方 = 相等 <> 不相等 >= 大于或等于 ...
- java-web查询系统
1:select标签.选择列表~ 让从数据库得到的科目名称全部放入一个ArrayList里,用for循环将其遍历.数据库存取暂不介绍. 效果图: classC班没有此分数段,所以我改成classA p ...
- 新霸哥带你进入java的世界
新霸哥从近期大家的留言中注意到了大家对基础知识比较重视,很多的朋友希望多讲一些入门的知识,为了满足广大开发爱好者的需求,新霸哥决定从最基础的做起,一点一点的帮助大家一起走进云计算的世界.下面新霸哥首先 ...
- Treap树
Treap树算是一种简单的优化策略,这名字大家也能猜到,树和堆的合体,其实原理比较简单,在树中维护一个"优先级“,”优先级“ 采用随机数的方法,但是”优先级“必须满足根堆的性质,当然是“大根 ...
- Linux进程间通信——使用共享内存
一.什么是共享内存 顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存.共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式.不同进程之间共享的内存通常安排为同一段物理内存. ...