This is an expanded version of the last of the six sub-topics in the last technical live. Another reader recently asked a similar question, and I thought it would be worth taking a long time to share it with you.

How to learn Elasticsearch based on zero?

Frequently asked questions: “ES Zero basic introductory books what is better to read?”

Cognitive premise: The pace of books has lagged far behind the pace of ES edition updates. ES releases a version almost every month and updates quickly.

X, 2. X, 5. X, 6. X version, update slowly.

There were a few 7.x books that I didn’t buy physically and didn’t have much say in. 1.X — 6. I have bought and read all the physical books, so I can say THAT I have the right to speak.

I prefer official documents to physical books, but given the fear of English among “zero-based” readers, here’s a list of recommended books, videos, learning routes, etc. :

1.1 Zero basic books are recommended

Recommendation 1: This is The Search Engine

Elasticsearch – this is a book about how search engines work and how to understand Elasticsearch.

  • Recommendation reason 1: long seller (one level higher than the best seller), the author is a doctor of the Institute of software of the Chinese Academy of Sciences, contains a lot of illustrations, easy to understand.
  • Reason to recommend it: It looks like it’s on Medcl’s shelf, too. Elasti is founder of the Chinese community and Elastic’s first employee in China.

Recommendation 2: The Definitive Guide to Elasticsearch 2.x Chinese translation ebook

The address is as follows:

www.elastic.co/guide/cn/el…

  • Recommendation 1: Although based on 2.x, the introduction of the underlying principles is not outdated and is worth a look.
  • Reason 2: Uncle Wood (architect at Ctrip and # 1 at The Elastic Chinese community) has recommended it many times and has seen it twice +.

Recommendation 3: Elasticsearch In Real Life

This book is a translation of Elasticsearch IN ACTION. \

  • 1. One of the authors is working at Elasticsearch.
  • The translation is by Dr. Huang Shen of geek time Math class, and it’s ok, at least 100 times better than Lucene In Action.
  • 3. This book is a foreword by Medcl.

Recommendation 4: Use ECE as a guide for Elasticsearch.

Elasticsearch (at least necessary)

www.yuque.com/deep_elasti…

  • 1. ECE certification is a great way to get started, learn, and advance.
  • Recommendation reason 2: If you look at the official documents alone, you don’t know the key point, and THE ECE syllabus is the key point.
  • ECE outline is not clear, but Elasticsearch is the least necessary to know.

1.2 Zero-basics video tutorial recommended

Recommendation 1: Teacher Ruan Yiming 7.1+ Geek time video

Address: time.geekbang.org/course/intr…

Recommendation 2: Teacher Wei Bin’s MOOCs video (6.x version)

Address: coding.imooc.com/class/181.h…

Recommendation 3: Video Course by Teacher Li Meng (latest version)

Address: www.gupaoedu.cn/course-es.h…

Recommendation 4:2.x video tutorial by Mr. Shi Shan

Address: www.roncoo.com/view/80

7. X + version, in progress

Address: tc n/RmwM3N9

Because everyone’s “taste” is different, is the so-called “difficult to adjust”, no matter how good reputation of the course also some people feel “chicken ribs”.

So, with all the Elasticsearch videos listed above, there’s one for you.

1.3 “Zero base” is relative, don’t be afraid!

There are some common operation bases for Mysql database.

It is recommended to learn by analogy based on the existing knowledge system:

MySQL ElasticSearch
Table Index
Table Type
Row Document
Column Field
Schema Mapping
Index Everything is indexed
SQL Query DSL
Select * from… GET http://…
The update table set… POST http://…
Group by, AVG, sum Aggregations
To heavy distinct cardinality
Data migration reindex

By analogy: we can transition from the existing cognition to the unknown cognition, which is easy to acquire skills quickly. \

It is suggested that the basic content be divided into two parts,

  • Part 1: add, delete, change and check

This part is relatively easy to understand, or can be deepened by analogy with the existing knowledge system.

Further subdivided into:

  • Add, delete, change and check index
  • Add, delete, change and check documents
  • Add, delete, modify and check the Mapping
  • Add, delete, change and check template
  • .

So with this knowledge, the basic operations are basically done by hand.

  • Part 2: non-add, delete, change and check

Further subdivided into:

  • Data preprocessing Ingest
  • Custom participles
  • Retrieve the classification
  • Aggregate classification
  • Node Role Classification
  • Cluster backup and snapshot
  • Cluster security
  • Cross-cluster Deployment
  • Hot and cold cluster architecture
  • Cross-machine room cross-rack retrieval
  • .

With the classification above, it is ok to conquer a knowledge point a knowledge point.

1.4 Form your own learning roadmap

My previous learning roadmap is as follows:

Blockbuster | Elasticsearch7. Learning roadmap \ X

The learning route varies from person to person, and the road map above is for reference only.

Need to combine their own practice and cognition, find their own learning route.

1.5 “Zero-basis” learning methodology — it is more important to build an environment + practice!

The same is true of books and videos.

The practice emphasized here is the practice of the concept “practice” advocated in the book “Deliberate practice”. It is not blind practice, but deliberate practice with a purpose and a goal.

Look at the 46 certified engineers tested by the planet, all are the result of deliberate practice + very proficient in official documents.

Easiest and lightest way: Build your environment (single-node Elasticsearch + Kibana) and use the three examples of Kibana to practice.

  • Deployment mode 1: If the PC memory is sufficient, build a VM to start the operation.
  • Deployment mode 2: If you are familiar with Docker, Docker deployment ELK is also very fast.
  • Deployment mode three: one, two are not like, their own to buy a cloud server (at least 2 core 4G) is enough.

Combine your needs with what you do best.

Above, expect to help you get started quickly!

2. Advanced chapter: Practice deepens cognition

The foundation emphasizes practice. The advanced chapter will further emphasize the importance of practicing.

2.1 Deliberately study the official documents

Program ape DD big guy said: to effectively implement a framework, the way to fully understand and master is always “official documentation + learn to read source code”.

Yes, getting started we can read blogs, watch videos and walk faster standing on someone else’s “shoulders”. Then further, a systematic review of the official documents is necessary.

If you feel a little difficult to complete in English, you can read the English version of the latest 7.x version together with the Chinese document of 2.X.

If you’re having trouble, check out tech blog resources:

Elasticsearch is the best collection of Elasticsearch blog

2.2 Practice deliberately in actual combat

In the process of product or project architecture, development, operation and maintenance, when you encounter a problem, do not just solve the problem itself, ask more questions, ask what is the underlying principle?

  • Example 1: Range Query Which data type is faster for numeric or keyword types?
  • Example 2: Is index sort really fast? What scenarios are applicable? How is the bottom layer implemented?

If you don’t understand at this time, you can browse official documents, check github Issue records, browse source code, and discuss within the community…… Improve cognition through continuous evidence.

2.3 Go to school next help exercises

Every day there are more than N companies from the community online combat problems, look at others have encountered what problems? What technology stacks are used?

Elasticsearch. cn/

Foreign Elastic community address: discuss.elastice.co /

2.3.1 to go to school

Learn from those who are better than you.

There are a large number of talents in the community, even if it is very “partial”, “tricky” questions can also have very original views and ideas, which is worth us to learn.

Learn what?

Learn how they disassemble, analyze, locate and solve problems.

2.3.2 down to help

Help people in need. We all have blind spots. Help others and you can improve yourself by leaps and bounds.

Is the so-called: “speak again and again of the receipt of goods.”

For help, “can explain the problem clearly, the problem solved more than half”.

And for the solver: “output forces input, helping others to troubleshoot problems, the essence is to further improve their own cognition”. If nothing else, community Uncle Wood’s writings are mostly dry goods accumulated to solve their own or others’ problems, and are of great benefit to Elastic learners.

You have an apple, I have an orange, and when we swap, we each get two different flavors of fruit.

You know one point of knowledge, I know the other point of knowledge, and when we switch, we each get two different points of knowledge, which may even expand the cognitive boundaries of each other.

Do not ignore the “power of repetition”, for example: “children listen to children’s songs, basic 2-3 times + can follow the corresponding intonation”, this is the reason for listening to more, repeat more times. Similarly, after we explain more to others, our memory will be more and more solid.

2.4 Gradually build their own knowledge system

One of the most common questions I get is: “Knowledge is not systematic. What you learn is scattered and forgotten when you don’t use it.” \

Well, there are so many network resources now, and even the projects and source code suitable for getting started are open source, so getting started is not difficult.

There is nothing wrong with going to search engines for answers to problems, but what you see and learn is never the whole picture.

“Not seeing the forest for the trees” probably means the same thing.

Here’s a practical example:

  • The template template is not useful in the case of a small amount of data and few indexes.

Because of our habitual thinking, creating an index and specifying a Mapping seem like a natural progression.

When encountering massive data, you can use scripts to create Mapping. At the end of the project or some other time, the template is found. “If I had known there was a template, I wouldn’t have had to maintain so many scripts.”

  • Ingest data pretreatment, processing data before writing the beauty, used to know very cool, very convenient!

Also thinking inertia, do not know Ingest, always feel that the operation of data processing belongs to the pre-ETL link, so write code to achieve: data field disassembly, interception, change the field name and other operations.

In fact, these operations can be done quickly with a few lines of ingest.

To sort out the knowledge system, I recommend using brain map to draw some scattered knowledge regularly. For example, the following points are very trivial and need to sort out and establish a complete system of cognition.

Elasticsearch retrieves classified brain maps

Elasticsearch data type brain map

Elasticsearch Panoramic technology system brain map

If you draw more, you form your own system of knowledge. \

Here’s a 30-plus minute video of me tapping the core of Elasticsearch with my bare hands, which is what the current Elastic Certification exam is all about.

2.5 Test with practice

Consider taking the Elastic Certification exam, which will force you to hone your skills in practice.

There are many articles that have shared certification exams before, so I will not repeat them.

Recommended reading for those interested in certification:

  • How useful is an Elastic certified engineer? \

  • Concentrate on a technique, do the ultimate! — Elastic Certified Engineer path \

  • You can pass the Elastic certification exam with a driver’s license!

  • Get out of the game, Get out of the Game — Elasticsearch gets improved faster

Here’s what BAT says about being a certified engineer, at least when your resume isn’t glowing.

With this bright spot, the stepping stone to the big factory is more powerful!

46 certified engineers (as of March 11, 2021), three of whom have received high salary offers from major manufacturers:

  • Microsoft offers
  • Ali offer
  • The spell of offer

Above, through further deliberate practice, help to build knowledge system, hope to help you quickly progress! \

3, source code principle: master the essence, all

The kernel level optimization for Elasticsearch is currently only available in the big Internet companies, so the first question for the big Internet companies is: “Have you seen the source code for Elasticsearch?” . Then ask some basic principles, optimization and other practical questions.

PS adds: big factories will inevitably ask basic algorithms, so it is suggested to prepare for them in advance. \

Simply read the source code is easy to hit a wall, often “confused, unintelligible”. Therefore, it is recommended to combine actual combat problems with problems to see the source code.

It is also recommended to develop a Elasticsearch plugin to improve your understanding of the Elasticsearch code and access logic.

3.1 Recommendation 1: Teacher Zhang Chao “Elasticsearch source code parsing and Optimization practice” book

  • Elasticsearch is the only source book for Elasticsearch on the market.
  • Recommendation reason 2: I once invited Teacher Zhang Chao to do a technology sharing, and all the players unanimously feedback that he is very deep in research.

Combined with the source code solution reading, it is necessary to turn over the source code, so that learning is relatively faster, at least with the context to follow, can less detours.

3.2 Recommendation 2: Lucene In Action

  • Elasticsearch is based on Lucene, which is very useful for understanding Elasticseach.
  • Translation really dare not flatter, but it seems that the physical Lucene book is really scarce, you can take a look.

3.3 Recommendation 3: Lucene Principles and Code Analysis Complete Edition ebook

Above, expect to help you understand the underlying principles! \

4. Mistakes in systematic learning

4.1 Buy in-class roll-in

I understand you very much. However, the purpose of buying classes has to be further clear: 0.1 yuan of classes, 1 yuan of classes, 9.9 yuan of classes, 19.9 yuan of classes and so on are very many, the competition among major institutions has become white-hot. I also offer courses myself. I can understand from the point of view of IT training companies or IT knowledge payment companies, and there is nothing wrong with attracting users.

However, as we have stressed before, buying classes is not the purpose, just like buying books. Let me put it more bluntly:

Buying books without reading and buying classes without reading are exactly the same logic.

I bought it with this in mind:

  • Mastering a skill in X days is awesome.
  • After X days, I will be a big bull.
  • After X days, I have a complete knowledge system.
  • Oh, my god! It’s a class for industry leaders!
  • Oh, my god, my friends in the group or my colleagues bought it, SO I have to buy it.
  • Damn, buy it, buy it, buy it…

The feeling of buying that moment, very comfortable, very practical, as if I had the illusion of winning the lottery.

But how soon after?

  • XXX, your bug, come and have a look.
  • XXX, annual planning meeting, remember to attend.
  • XXX, product requirements discussion meeting, remember to attend.
  • XXX, architecture selection meeting, remember to attend.
  • XXX, development problem discussion, coding…
  • XXX, can’t, today’s task is not finished, working overtime…

Again and again, into the 996 cycle.

A few days later, or dozens of days later, and found that the course promotion advertising, ah, I have not bought this course, I wipe, forget to listen to, forget to learn.

Lesson is not much, can learn just spirit!

Lesson is not much, enough practice!

Practice is more important than purchase.

Buy not terrible, buy not learn to be terrible!

Learning is not terrible, learn not to practice is terrible!

Practice is not terrible, practice is not terrible!

4.2 Distraction

I have quoted Li Xiaolai many times: attention > time > money.

It really is — where is your attention? Where is your achievement!

During the Spring Festival, I talked with my friends about reading. “I’m not afraid of your jokes, BUT I haven’t read a book for several years.”

I can understand it very well. After work and marriage and having children, time is really scattered. If work is 996, there is no time to study.

It’s important to note that, as Rofat put it, “total national time” is constant.

If you don’t go to school, there is nothing wrong with being good enough at work, life or other things to support your family and make it rich. However, afraid afraid of the relatively only scarce leisure time in: brush video, brush news.

Even though I was able to keep blogging, I still thought I had poor self-control and could easily become addicted to watching videos. Uninstalling the APP in a violent way before cannot solve the problem in essence.

Now the solution to ease, to their leisure (brush video, brush news) set a time, too much to do business: reading, learning, practice and so on.

In addition, if the effect is not good, I will punch in a word to learn, by punching in a sentence summary of the daily work, very stupid but very effective.

Recommended reading: Punch in — a cure for anxiety! \

Finally, I want to say: focus on the long term, the meaningful things. The more concentrated, the luckier!

5, summary

Say to learn of system, do not know everybody to read feeling is how? Is it systematic enough?

There is no universal method, everyone combined with their actual business practice deliberately, to find their own methodology is king! \

After all, it is a family opinion. If there is something wrong, please correct it. Also welcome everyone to leave a message to exchange learning experience, methods and so on.

Recommendation: \

  1. Get out of the game, Get out of the Game — Elasticsearch gets improved faster

  2. Blockbuster | into Elasticsearch methodology cognitive listing \ (National Day update edition 2020)

  3. Elasticsearch Methodology: the 10 most effective ways to Improve your Average Programmer! \


The largest Elastic official account in China

Learn more, faster, in less time

Click on “Read More” to learn more in less time, faster. Hone your ELK skills daily with 1000 + Elastic enthusiasts worldwide (including 50% + Elastic certified engineers in China)!