1. 牢骚
差不多去年这个时候,因为其他项目组需要,把我拉去充壮丁部署了下elasticsearch集群,并简单封装了下客户端工具包。 心想着新掌握一门手艺也不是坏事,就深入学习了一段时间。
然后。。。。。。。。。。。然后在项目结束后,就忘了 %>_<%
这会儿新项目组又拉着我去传授elasticsearch学习经验,心中只能暗暗叫苦。
悔不当初,不该因为原博客忘了密码而放弃了烂笔头,事实证明烂笔头真的胜过好记性。
2.全文检索扫盲
ElasticSearch是基于lucene的分布式实现。本来想自己简单写下扫盲贴,但发现有个lucene系列写得非常好。戳这里 http://blog.csdn.net/forfuture1978/article/details/4711308
上述链接里的lucene系列深度不错,但初学者看完这篇即可,切记此时不可深入,否则会本末倒置。一切都是以实践为先,深入原理只有和实践相结合才有意义。
3.linux集群快速部署
3.1最小化环境:
服务器: 假设有 机器A: 10.60.1.1 机器B :10.60.1.2
Jdk: 一说需要1.7 但本人跑在1.6.0_24并无异常。
下载地址: ://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.1.2.tar.gz
3.2 最小化配置:
以10.60.1.1为例,进入解压后的elastic目录 cd /elasticsearch-1.1.2/config/ 打开elasticsearch.yml
cluster.name: TestCluster
设置一个英文的集群名称。 es会在同一网段内找到同一名称的集群并自动加入。
node.name: 10.60.1.1
节点名称。建议直接写IP地址。至少使用管理工具时至少可以分清楚谁是谁。
network.bind_host:10.60.1.1
写上ES所在的服务器IP
network.publish_host: 10.60.1.1
写上ES所在的服务器IP
discovery.zen.ping.unicast.hosts: ["10.60.1.2"]
这个重点注意下。ES会用多播协议自动发现同网段内的ES节点,但是若服务器有多张网卡时,则ES可能会使用错误的IP范围去搜寻其他节点,从而导致加入集群失败。 因此这里需要写上其他ES节点的IP列表。(网上从来没提到过,坑爹!!!!)
3.3 启动:
cd /was/elasticsearch-1.1.2/bin
./elasticsearch &
感觉想写的太多,但码了没几个字就累了 - -
接下来打算按照如下顺序继续码字:
1.索引基本概念
2.常用索引查询方式
3.最容易被新手忽略的过滤器查询、原理及优化原则
4.集群及分片的设计思路。(design for scale)