Symfony and ElasticSearch
When you have to build a web application, you are often asked to add search. The magnifying glass is something that we now add to wireframes without even knowing what we are going to search.
Postgre’s full-text search features are one road to go down and they’re great. They come with stemming, ranking / boost, support for multiple languages and fuzzy search for misspelling. However, if you are on MySQL, NoSQL or if your application evolves around search, you might need a little more functionality and/or speed. ElasticSearch is fast, offers autocomplete, search alerts, “more like this” queries, geographical and spatial features. And much more.
ElasticSearch has a nice JSON API and there are two PHP libraries for easy integration: Elastica and elasticsearch-php. They both have good feature coverage, but Elastica’s documentation is quite poor. FriendsOfSymfony is actively developing a bundle wrapping Elastica.
This talk draws from the experiences made when developing the Must app which is heavily search focused. It will provide first steps to set up and get started with FOSElastica, explores how to translate the ElasticSearch documentation into Elastica objects, how to go about features that are poorly documented and covers spam and NSFW content detection. It will come with plenty of code examples covering scenarios from a simple search all query to ranking / boost to geo distance and geo bounds.
Jonny (https://twitter.com/jschmid_no1) is a young entrepreneurial web developer, working with Symfony2 on a daily basis. He runs Four Labs, (http://fourlabs.co.uk) a start-up in South West London developing ERPs and the Must (http://getmustapp.com) app.
Sylius: Something For Everyone
Sylius is a modern full-stack e-commerce web application built on the Symfony standard edition. Developed using BDD methodology, it provides a clean architecture and greater flexibility through decoupling the plaform into separate
components and bundles. That means it's not just a web application, it is also a library of different tools; You don't need to have an e-commerce project, or even use Symfony to able to benefit from Sylius. Sylius is also format-agnostic, so you can "bring your own frontend".
This talk will walk through most of the 37 bundles and 30 components in Sylius and how they can be used in any project. This talk will be of interest to those who dislike reinventing the wheel - or love Symfony and dislike Magento.
Starting and focusing on the most important of all - Resource and ResourceBundle - which attempts to eliminate the tediousness of creating new models where you'd normally have to configure with Doctrine, then you have to create the forms, then the controller CRUD operations, then the routing, the REST API, validation, translations, etc, etc... yet at the same time eliminates the pain from using admin generators that have little flexibility and add more complexity unnecessarily.
Other bundles and components of focus in the talk will be Product, FlowBundle, Storage, Report, Registry, Archetype, Taxonomy and Addressing.
The talk will also go through the conventions adopted and created to aid the development of Sylius and how they can be also suited to other projects.
Adam Elsodaney (http://github.com/adamelso) is a web developer from London working at Reiss - A high-street UK-based fashion brand working with Sylius on their new platform. Also has used Sylius heavily in other projects that are not e-commerce.
Meet other Symfony developers, join us for discussions, socialising and presentations.
If you'd like to share your Symfony experience, or simply practice your public speaking skills, contact Jakub and speak at the next meetup!
Drinks and location are kindly sponsored by Inviqa (http://inviqa.com/).
1-year individual subscription to any single JetBrains Toolbox product (https://www.jetbrains.com/products.html) of your choice from among IDEs is kindly sponsored by JetBrains.