Spatial Solr Plugin (SSP)
With the continuous efforts of adjusting search results to focused target audiences, there's an increasing demand for incorporating geographical location information into the standard search functionality. Spatial Solr Plugin (SSP) is a free, standalone plug-in which enables Geo / Location Based Search, and is built on top of the open source projects Apache Solr and Apache Lucene. It's main goals and characteristics are:
-
Provide a complete, consistent, robust and fast implementation of advanced geospatial algorithms
-
Act as a standalone pluggable extension to Solr
-
Written in 100% Java
-
Compatible with Apache Solr and Apache Lucene1
-
Open source under the Apache2 license
-
Well documented and comes with support
SSP started out its life as a patch for Solr Spatial Search (Solr-773) and Spatial Lucene (Lucene-1732) and extends Solr and Lucene with hereunto missing geodetic search functions (bounding boxes etc) while improving on the speed of the result and performance when dealing with a large data set through better query parsing and multi-threaded filtering. Also included are improved extensibility and documentation.
In case you want to stay informed about the Spatial Solr Plugin or need help, please contact us.
1 SSP is currently compatible with Solr 1.4 & Lucene 2.9
Frequently Asked Questions (FAQ)
Who should use it?
People increasingly use Google Maps functionality to find businesses within a specific geographical location (for e.g, all pizza parlors within a 2 km radius of your home address). But when you want your customers to be able to find what they are looking for within a specific geographical area and you want their geographical location to play a role in the ranking of the results, you need to build this Location Based Search functionality into your application suite.
The diversity of applications using Location Based Search spans many domains, making SSP suitable for business and scientific applications needing geospatial functions and fast performance. The plug-in is currently used (or being evaluated) by diverse businesses such as ilocal.nl (a Dutch online directory services), NASA/JPL’s Virtual Oceanographic Data Centre, ComCast, LocalBase (a U.S. recommendation engine), MediaMij (a Dutch media and hardware products co) and more.
In its essence, if you're looking for spatial search support in Lucene/Solr, SSP can be a perfect fit for you as it eliminates the need to patch your own version of the two.
What does it cost?
While SSP is freely downloadable, we offer you the option of a guided implementation service as well as ongoing support.
Is it supported?
Yes. JTeam B.V., a European Open Source Java specialist, and the makers of Spatial Solr will continue to make improvements to the plugin and will release improved versions of SSP according to a planned release schedule including a roadmap of upcoming features and functions.
For customers requiring more intensive involvement, we offer the following three types of support on SSP:
-
Implementation/Configuration service – a consultant from JTeam will typically spend 4 to 5 days onsite to install and configure the current release of SSP in your IT environment
-
Custom build service – You can contract JTeam to custom-build specific features on top of the current release and/or solve specific issues in the current release in a timeframe suitable to your business needs, leapfrogging as it were, the general release schedule.
-
Service Level Agreement – JTeam offers a Support contract for an annual fixed- fee scaled on a CPU basis. This entitles the customer to call JTeam for support with correcting or improving a feature outside of the established release schedule. Contact us to discuss possibilities.
Whom can I contact with questions?
For all your technical and commercial questions contact us
How does this plug-in fit with Solr and Lucene?
- The plugin integrates with Solr at the extension points provided and does not make any changes to the Solr or Lucene codebases. You only need to add it to your Solr lib folder and then you are able to use like other Solr plugins.
- Because no changes are made to the core codebases, optimally you will be able to upgrade Solr and Lucene to newer versions and benefit from their latest features and ehancements. That being said, it of course also depends on the backwards compatiblity of the interal API of Solr/Lucene between releases. In any case, we're commited to always keep SSP in sync with both Solr and Lucene code bases and issue new releases of SSP as required.
What versions of Solr and Lucene is SSP compatible with?
SSP is compatible with Solr 1.4 and Lucene 2.9.0. Since Solr 1.4 is not officially released yet, we're committed to stay compatible with Solr 1.4 nightly builds. Until Solr 1.4 is officially released SSP will remain in a Release Candidate (RC) version and once Solr 1.4 is release, SSP 1.0 final will be released as well.
Which features are currently supported?
The basic feature supported is: searching for results within a radius of a point.
Additionally, there are several improvements made on the existing solution:
-
Improved Cartesian Tier code (Unused, deprecated or unnecessary classes and methods have been removed, so that the code is easier to maintain and faster)
-
Multi threaded distance filtering (better utilization of contemporary multi-core processors accounts for dramatic increase in search performance)
-
Comprehensive test suites (so you can have confidence in any changes made)
-
Documentation (Both JavaDoc and in an user manual)
-
Uses latest Lucene API (compatible with Lucene 2.9 release)
What are its current limitations?
- There are currently known bugs in the Cartesian Tier code. These bugs are inherited from the patch version and have not yet been fixed in the plugin. We are however working on fixing them together with the lucene/solr community as part of the work done for Lucene Jira issue.
- The plugin has only been tested with a dataset of 2 million documents. We are currently working on testing and optimizing it for a dataset of 20 million documents.
What’s on the roadmap of future features?
Here are some of the features and enhancements we're planning for SSP:
-
Performance improvements for larger data sets
-
Fixing of known bugs
-
Distance facets: Allowing Solr users to be able to filter their results based on the calculated distances.
-
Search with regular polygons, and groups of shapes
-
Integration with JTS
-
Highly optimized distance calculation algorithms
-
Ranking results by distance
-
3D dimension search
Can you give me more technical details?
-
How does it solve the problems in Solr 773?
-
SOLR-773 is a discussion about how to best integrate Spatial Lucene with Solr. It has raised a number of issues which have been addressed in this plugin and we will continue to participate in the discussion and adapt our plugin to meet any decisions made.
-
-
What about Lucene 1732?
-
LUCENE-1732 was a patch contributing the multi-threaded filtering included in this plugin. It was built against the Lucene 2.9-dev API and is now out-of-date.
-
-
What about the contrib/special which is distributed together with Lucene 2.9.0?
-
We're actively involved with this contrib. package development to the extent that our plugin depends on it. Our goal is not to reinvent the wheel and drift away with our development from the Lucene codebase, on the contrary, we work hard to contribute back our work to this contrib. package and work together with the community to enhance this package with new features and increased performance.
-
-
Are you going to integrate with JTS?
-
Yes, the intent is to integrate with the Java Topology Suite in the near future
-
What JTeam can do for you
We're the Open Source Enterprise Search experts and can help guide you in your choice of technologies and approach in implementing an Enterprise Search solution. Using Apache Lucene (the open source Java Search library) and Apache Solr (the open source web server that complements Lucene) we can custom build a high performance and reliable platform for Enterprise Search that is up to the demands of all types of organizations.
But besides these hardcore search technologies, we also have expertise in related open source projects such as recommendation and clustering engines (e.g. Taste, Carrot2), web search/crawlers (Nutch), frameworks for distributed computing (Hadoop), machine learning libraries (Mahout) and content and metadata extractors (Tika). These are all powerful technologies that can add intelligence and speed to your Enterprise Search solution when applied correctly. And JTeam can help you figure out which ones you need to accelerate your business.
Contact us to see how we can help you.
