If you don’t know what elastic search is, you should read about it immediately.
Almost everything you are developing or may develop contains a search section.
As the creator of elastic search are declairing at the project’s first page:
So, we build a web site or an application and want to add search to it, and then it hits us: getting search working is hard. We want our search solution to be fast, we want a painless setup and a completely free search schema, we want to be able to index data simply using JSON over HTTP, we want our search server to be always available, we want to be able to start with one machine and scale to hundreds, we want real-time search, we want simple multi-tenancy, and we want a solution that is built for the cloud.
I use elastic search for the GreekAndroidApps project, I’m developing it with the play framework and it cames handy with a play module ready to use.
One feature I really love (among the others) is the fuzzy search.
This line does a fuzzy search on the “title” or the “description” fields.
BoolQueryBuilder qb1 = boolQuery().should(fuzzyQuery("title", searchString)).should(fuzzyQuery("description", searchString));
So, goodbye “select * from item where content like ‘%term%'” queries!!!