Recently when I changed my blog from WordPress to Ghost, I’ve run to some problems because it was my first time setting up a Ghost blog. I decided to write this article on how to set up a self-hosted Ghost so you can avoid having the same problem as I am.
Disclaimer: this article contains 1 or more affiliate links.
If you know me, you might’ve noticed I created a new blog with Ghost. My old WordPress blog is just 2 months old, it’s still up, but I’m thinking to redirect the traffic from that blog to my new Ghost blog.
If you don’t already know, WordPress is a CMS many people use for creating websites and blog. It already exists for a very long time. Ghost, is a relatively new CMS focused on blogging. It’s not really new since it’s already exists for over 5 years, but its age feels like nothing when compared to WordPress.
WordPress is really famous for creating a blog. I too have some experience with it from my blog about 10 years ago. When I’m thinking to create a new blog, WordPress is the only CMS that I thought I can create a blog easily of. There are another CMS and platform like Drupal, Joomla, Wix or Squarespace, but I’m not really familiar with them, hence, I used the CMS that I know well, WordPress. …
If you want to create a good search engine with Elasticsearch, knowing how an analyzer works is a must. A good search engine is a search engine that returns relevant results. When the user queries something in our search engine, we need to return the documents relevant to that query.
One component we can tune so Elasticsearch returns relevant documents is an analyzer. An analyzer is a component responsible for processing the text we want to index and controlling which documents are more relevant when querying.
Since analyzers correlate tightly with inverted indexes, we need to understand what an inverted index is first. …
Typo is something that often happens and can reduce user’s experience, fortunately, Elasticsearch can handle it easily with Fuzzy Query.
Handling typos is a must if you’re building an advanced autocomplete system with the Elasticsearch.
If you want to create a simple one instead, you can read my other articles “Create a Simple Autocomplete With Elasticsearch”.
Fuzzy logic is a mathematics logic in which the truth of variables might be any number between 0 and 1. It is different with a Boolean logic that only has the truth values either 0 or 1.
In the Elasticsearch, fuzzy query means the terms in the queries don’t have to be the exact match with the terms in the Inverted Index. …
In 1964, British computer scientist Tony Hoare invented the Null Pointer References.
The loss of financial resources, time, and human resources to fix it prompted Hoare to call it a “billion-dollar mistake.”
Java is one of the programming languages that implement Null Pointer References. If you’ve been developing with Java, I’m sure that you’ve seen them a lot. It doesn’t matter if you are new to Java or have ten years of experience. …
Autocomplete is a feature to predict the rest of a word a user is typing. It is an important feature to implement that can improve the user’s experience of your product.
Creating an autocomplete might sound daunting at first if you’ve never created one. But with the help of the features in Elasticsearch, it’s actually a simple thing to do.
If you have little knowledge of Elasticsearch, I suggest that you read my other articles first. We do not require this, but knowing how an analyzer and a text field work definitely will help you understand this article.
The article “Basics of Elasticsearch for Developer” will introduce you to Elasticsearch. The article “Elasticsearch: Text vs. Keyword” will teach you the difference between text and keyword in Elasticsearch and also will explain how Elasticsearch’s analyzer works. …
If you’re a Java developer, I’m sure that you have seen code similar to the snippet above at least once. The code in the snippet above is an example of functional programming paradigm implementation in Java, which will filter and transform the
List<String> in the request to another
In this article, I will write about how to write code using Java’s API for functional programming. In the end, we will write our own stream API so we can understand how to implement a functional programming style in Java.
Functional programming in Java has been around for a long time. When Oracle released Java 8 back in 2014, they introduced lambda expression, which was the core feature for functional programming in Java. …
I’ve always been interested with Artificial Intelligence and Machine Learning field since I started working as a software engineer. I wondered how the machine learning algorithm work and how cool the result they produce, I mean, the programming I know was like, I need to define the flow from X to Y and the resulting software will follow exactly what we wrote.
But, Machine Learning is different, I only need to feed it with data, and the response that it produces will always be different depending on the data I fed into it. …
Many people that have just started learning Elasticsearch often confuse the
Keyword field data type. The difference between them is simple, but very crucial. In this article, I will talk about the difference, how to use them, how they behave, and which one to use between the two.
The crucial difference between them is that Elasticsearch will analyze the
Text before it’s stored into the Inverted Index while it won’t analyze
Keyword type. Analyzed or not analyzed will affect how it will behave when getting queried.
If you’re just starting to learn Elasticsearch and still don’t know what is Inverted Index and Analyzer, I recommend reading a basic guide to Elasticsearch first. …