Skip to main content

Elastic search and more

 

Release 0.3.1

Now it is time to learn what is Elastic search since the chosen issue is about adding more fields for our model in telescope.  This is very new for me so I was very scared when I started to work for this but now I think I am more confident.

First, Elastic search is such a great supportive database especially for index search. The good thing is that it is not only the index search for whole value but, partial keyword as well. Of course, it may be wrong since I also just started to study it. Anyway, It was very careful when I read codes one line by one.

Following the official document,  I tried to add some fields, but it made some test failed so I needed to fix them. The below content is from the official document:

Mappingedit

Mapping is the process of defining how a document, and the fields it contains, are stored and indexed. For instance, use mappings to define:

  • which string fields should be treated as full text fields.
  • which fields contain numbers, dates, or geolocations.
  • the format of date values.
  • custom rules to control the mapping for dynamically added fields.

Reading a document is always time consuming but, it was great time to learn and now I didn't add date field but I learned we cannot use date time search as a string automatically. For this, the code should be care of date converting part. 

After asking a lot of questions and many commits, finally I got the PR approval. During the period that I work on, I did not really enjoy it since a lot of parts are new and even now many of parts are not sure yet. But, I believe that I will be OK and more familiar with this project.

In conclusion, the difficulty is not about how many code I should write, but how much time I should care. What I mean by that, as you can see, in my PR, only a few line of codes are modified. However, I spent a lot of time to read a document and codes even including test case as well To be honest, I really don't know how to write a test case as well so I will look for test issue as a next one.

Comments

Popular posts from this blog

Experience about a contribution to fix a bug or issue

  Starting... I have been very exciting to review other classmates' repository before I will jump into a real open source project. From this lab, I have learned how to do forking and cloning other projects and create a new branch for a new issue or a new feature. It is very hard to wait for the owner's answer but it also can be a special experience  Reading... In my experience, finding an issue and improvement is not easy especially for other's task and really careful to touch it since it should be very sensitive. For this reason, my first step for this lab, I tried to create an issue with a nice comment. During the time for waiting for reply, I did forking and cloning the repository and started to review a code to find out what I can contribute. Finally, I figured out some part I can improve so I added comment for it,  Issue 5 I suggested three things. First of all, the number of counter is always the last number so I wanted to fix it. Second, I wanted to add an another ...

Coding Standard

  Starting... This lab is to help our codes to standardize automatically. As you have experienced a lot, group coding is very difficult to be unified in one specific style. In this lab, we will explore how to make one style code with very efficient or effective libraries, prettier and lint for node js . Progressing... Prettier,  link , is great for matching our coding style especially indent with tab or space, how many line and so on. The first step I took is to install prettier and put simple scripts in package.json,   "prettier-fix": "prettier --write \"./**/*.{md,js,json}\"",  "prettier": "prettier --check \"./**/*.{md,js,json}\"". I just run the script and I realized that there were a lot of prettier issues like indent, different ending style, tab, space and so on. Luckily, these scripts were very helpful since it provided auto editing features as well so I did not have to modify following the rules manually.   Eslint,  li...

Local Authentication

  Release 0.3.2 I tried to find a test issue to learn how to write test cases but I found another one which was also very interesting to me since it was about authentication set up using JSON web token. When I reviewed telescope, I read a code very carefully so I remembered about passport so I suggested that I would work with passport local and token and the owner agreed with my idea. First, for this I needed to understand passport and how JSON token works. After spending a lot of time, I implemented the part and commit it. The owner was satisfied with work but unfortunately, during the time, about 2 days, he decided to change main language from javascript to typescript due to typeorm. What is typeorm? It will be my next topic. Anyway, he liked my logic so he said he would use it. Ah~, there are many things I need to study. Since my second job was refused and wanted to study or contribute more especially about test case, I started to explore again and finally, I found one. And I le...