Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Solarium 2.2.0 released

DZone's Guide to

Solarium 2.2.0 released

· Web Dev Zone ·
Free Resource

Bugsnag monitors application stability, so you can make data-driven decisions on whether you should be building new features, or fixing bugs. Learn more.

Solarium 2.2.0 has been released and can be downloaded from the homepage, or the Github project page.

 

This release includes:

  • Support for the MoreLikeThis handler
  • Spellcheck support
  • Analysis support, both document and field analysis
  • Support for distributed search (sharding)
  • Per-field settings for highlighting
  • A PeclHttp client adapter
  • Several create methods now have an auto-add option to make them easier to use
  • Some delete methods that worked by key now support an object as input, again to simplify use.
  • A fix for better detecting errors in ping requests (issue #46)
  • A fix to the handling of headers in the ZendHttp client adapter (issue #45)

This release contains a lot of contributed work:

  • Gasol contributed MoreLikeThis handler support, the PeclHttp client adapter and support for distributed search.
  • theUniC contributed per-field highlighting options
  • acasademont contributed the spellcheck component
  • danielholmes contributed a fix for the handling of headers in the ZendHttp client adapter

Thanks a lot guys! Really nice to see Solarium being used and improved by the community.

All new features have been documented in the manual. I’ve also added new examples to the project and updated several examples to make use of new features.
I can’t describe all changes in this post, but here’s one example of a small change in 2.2.0 that will make using Solarium just a little bit easier. Adding a filterquery used to work like this:

// create a filterquery
 
$fq = $this->createFilterQuery();
$fq->setKey('maxprice');
$fq->setQuery('price:[1 TO 300]');
 
// and add it
$this->addFilterQuery($fq);

From now on you can use this oneliner:

$this->createFilterQuery('maxprice')->setQuery('price:[1 TO 300]');

If you supply an id to the create method it will automatically add the filterquery instance for you, so you only need to apply your settings without manually adding it. The same thing also works for facets:

$facetSet->createFacetField('stock')->setField('inStock');

Finally, the API docs are now generated using DocBlox, instead of PhpDocumenter. Therefore the layout of the API docs has changed.

Monitor application stability with Bugsnag to decide if your engineering team should be building new features on your roadmap or fixing bugs to stabilize your application.Try it free.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}