This is a final part of the series about Elasticsearch. We already covered installing and multi model searching. Now it’s time to talk about some of the more complicated stuff and try to improve the searching intelligence. Let’s dive in.
In the previous post
we saw how to install Elasticsearch and import data needed for searching. We also set up basic
searching for the
House models. In the next post we will see how to improve searching
intelligence, but right now let’s take care of the main part of our functionality - multi model searching.
For one of our projects I had to do some complex searching. To cut a long story short, admin users wanted a way to quickly search and assign one record of two models to another record. The client wanted searching to happen with only one text input. After considering the complexity of searching by every possible column, and the importance of speed, I decided to use Elasticsearch. This was my first experience with this search engine and I would like to share my ideas about how to implement it and organise the code. There is a lot of stuff to cover, so I’ll split it into 3 parts: installing and indexing data, simple searching by multiple models and, finally, making searching "more intelligent". Let’s see now how to get started with Elasticsearch.
Ionic is a leading hybrid mobile app development framework. With Ionic 2 still in its infancy and multitude of production apps that will need maintenance, the current version is not going away any time soon. I've been developing Ionic apps for about a year now. This blogpost presents 8 random tips which I wish I had known when I started to play with it.
“If you do what you love, you'll never work a day in your life.”
I’m sure you've heard this quote more than once. This popular saying, from Steve Jobs (or Albert Einstein or Marc Anthony depending on which 'reliable' internet source you use), illustrates how important it is to choose the right thing to do in your life.
If you make the right choice, then your life will be paradise. You will spend every single day doing something you love. You will greet every single day with a smile. If you choose wrongly, then every single day you will struggle to do things you don’t like just to earn money. It will be hell on earth!
It’s like being in a relationship. If you find your perfect match - your soulmate, the love of your life - then you will always be happy, and all your problems will disappear. You will understand each other without words, and there will be no arguments, and no silent treatment.
One of the many advantages of a hybrid approach to mobile apps development is instant code updates. In this article, I will guide you through setting up a basic updates mechanism from scratch. With little adjustment it will work for every Cordova (PhoneGap, Ionic) iOS project. You can follow the steps or download a complete github repo to tinker with it yourself. Some basic Objective-C knowledge will be necessary to follow the guide.
Adding simple, easy to customize and reliable autocomplete functionality has always been one of the topics that I thought wasn't very clear for Rails applications. During my last project, I finally decided that I would do some serious research and find one solution that I could use later without hesitation. And here it is: my choice is to use Twitter typeahead.js library.
My favourite definition of the term digital nomad is 'Someone who flies across half the globe to look for good wifi in Starbucks'.
Working remotely comes with a lot of perks. Deploying to production in your pyjamas or fixing a critical bug while sipping coffee in your favourite bar may sound appealing, however, having worked more than a year remotely, I still had the feeling that I wasn't making the most of it. Recently I decided to give something more extreme a try. Continue working while travelling in Thailand? Why not?
Last weekend I watched a really enjoyable talk about the Readline editor by George Brocklehurst. It interested me enough to do some extra investigation. This article shares the results of my little research.
Before working for Ragnarson I was a Rails developer for nearly 2 years. When I finally became one of the "Perfect Programmers", I considered myself a guy who knew enough stuff to take another step forward. I felt ready for new challenges. But it quickly turned out that there was one important skill I was missing which was not related to any technical knowledge. In simple terms, I can say now that I wasn't 100% professional about my work. But what exactly does that mean?