It’s been a long wait, and now it’s here – the release of Solr version 3.1. The 1.4.1 release was in June 2010, and for various reasons there was never a 1.4.2 nor a 1.5 release. Part of the reason is the merge of Lucene and Solr codebase which is also why the version number is 3.1 instead of 1.5.
So what’s new? For me, the single most important features are the Extended Dismax parser (SOLR-1553) and Geospatial search. The full list of improvements is found in CHANGES.TXT, but here are my favorites:
eDisMax query parser
This new parser builds on disMax, and allows full Lucene query syntax, including support for wildcard and fuzzy searches. It also improves on stopword handling and gives you new pf2 and pf3 parameters for bi- and tri-gram phrase boosts. Your new favourite query parser. Enable with defType=edismax
GEO-spatial querying
Have lat/lon info for your data? Want to sort or boost results based on distance from a point? Want to filter results within a certain radius? You can do this with the new built-in GEO support. Filtering for all results within 5km is done as simple as: &fq={!geofilt pt=45.15,-93.85 sfield=store d=5}. More info at the Solr Wiki.
Better prototyping GUI
The built-in Velocity-based prototyping GUI is improved, and will now work with faceting, GEO, did you mean etc. It’s my favourite place to start mocking up a search UI. It now lives at /solr/browse instead of /solr/itas, and has a nicer color scheme. It’s still not perfect, and my patches to make range faceting dynamic (SOLR-2383) and to add ability to see all fields (SOLR-2384) did not make it in time for the code freeze, but you may add them yourself.
Sort by function
The sort feature now accepts a Function Query as input, meaning you can do stuff like &sort=sum(a,b) asc. This generic feature is also what is used to sort on distance, since GEO distance can be expressed as a function.
Numeric range facets
Earlier we had date range facets, but no numeric range facet. With the new range facet you can do both numeric and date range faceting with the same feature, specifying the gap. E.g. &facet.range=price&facet.range.gap=50 will bring you back a price facet automatically split in ranges of 0-50, 50-100, 100-150… Plans are under way to make range facets even more flexible by allowing unequally spaced gaps, but that will be in a later release (see SOLR-2366)
Take action
So what are you waiting for? Go and download a fresh copy and check it out!
Also, grab a copy of Cominvent’s Solr Product Sheet, giving a quick functional overview of Solr which even you boss understands 🙂
Cominvent have updated our training offering to cover all the new features. Check it out over at www.solrtraining.com