Search is still the King
Aciety is a B2B outsourcing marketplace. It’s based on a private network of top software development companies, exclusive content and most importantly a search engine, helping to find the best matches for software development services.
Therefore search speed and quality is an absolute TOP priority for us. We are always looking for the best tools to achieve it. That’s why our search engine is based on NoSQL Apache Lucene and ElasticSearch. It’s working on a NoSQL database, optimised for a big number of search queries.
Bundles to enhance ElasticSearch
We have tried most common FOSElasticBundle. This bundle is really good – if you need a simple solution to map your database structure with ElasticSearch.
However, in our case we wanted to increase the performance and to use results from ElasticSearch immediately without making any post processing. This have lead to a problem. Mapping the database directly to ElasticSearch document isn’t enough. We needed to have additional fields in the document, for example (name, displayName, privateName). Yet, we didn’t want to store this values in database.
What we actually where looking for was ElasticSearch – document first solution for PHP/Symfony. In the beginning we didn’t find anything similar to what we needed so we decided to try to build it ourselves. However, it required a lot of development time and effort. Gladly we have come across ONGR.
Our choice – ONGR
ONGR – is an open source methodology for the best e-commerce practices. One of the tools they are suggesting is ElasticsearchBundle – which was what we needed (document first). Ongr has many other useful bundles. You can check them at (github). At the moment we are using ElasticsearchBundle and FilterManagerBundle. We managed enhancing our search engine with limited time resources and adjusted the tool to fit our needs well. Of course, this tool is new, which means that it still has to prove itself under different circumstances and stand the greatest test of time, yet till this date we are happy about the choice.