Over a million developers have joined DZone.
Platinum Partner

Solarium PHP Solr client

· Web Dev Zone

The Web Dev Zone is brought to you in partnership with Mendix.  Discover how IT departments looking for ways to keep up with demand for business apps has caused a new breed of developers to surface - the Rapid Application Developer.

I’ve worked on a lot of Solr implementations in PHP applications. There are multiple solutions: manual HTTP requests, the solr-php-client library, custom implementations etcetera. However they all have one issue in common: they only handle the communication with Solr, many other important parts like query building are not covered at all. And the parts that are covered are usually over-simplified.

In my previous post Integrating Solr with PHP I did a comparison of several of the available options. Since then I’ve done more research and started to make notes of all issues I came across and all features I missed. Based on these notes I’ve started a project that tries to accurately model Solr and go one step beyond the existing solutions.

This process has taken several months, with lots of refactoring to reach what I think is the optimal model. At first I developed it as a library for my own projects, but I’ve decided to turn it into an opensource project. The project is called ‘Solarium’ and can be found on github: https://github.com/basdenooijer/solarium

Please see the GitHub project wiki for more info about Solarium, the current status and some examples.
I think the Solarium library in it’s current state is already very useful, but lot’s of great features are upcoming. I will regularly post updates.

The Web Dev Zone is brought to you in partnership with Mendix.  Learn more about The Essentials of Digital Innovation and how it needs to be at the heart of every organization.


Published at DZone with permission of Bas De Nooijer , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}