130 likes | 232 Vues
Explore the merging of unstructured content with spatial data in Lucene and Solr for targeted results. Learn about spatial search concepts, use cases, implementation needs, and what you can do now in these platforms.
E N D
In the beginning… Open Relevance Project Lucene Connector Framework
Agenda • Announcements and Introductions • Solr 1.4 and Data Discovery – Hoss • Tips and Tricks with Analyzers – Tom Hill • Optimizing Solr for performance and User Experience – Brian Doll • Spatial Search with Lucene and Solr - Grant
Introductions and Announcements • Intro • Haiti Fundraiser/Raffle • http://forms.lucidimagination.com/go/lucidimagination/donate2haiti • Lucene Connector Framework in Incubator • http://incubator.apache.org/connectors
Introduction • What is it? • Use Cases • Background Knowledge • Implementing • Status • Resources
What is It? • Spatial search is the merging of unstructured content with spatial information to produce search results specific to one or more locations • In other words • “Find me all the Starbucks selling double espressos within 5 miles of my current location” • Lucene/Solr solve specific spatial problems, but doesn’t provide a general purpose GIS solution
Use Cases • Asset Management • “Dude, where’s my stuff?” • Social Networking • Find all friends near me • Targeted, local search results and ads • “restaurants in Austin Texas” • “Starbucks, 55313” • Business Intelligence • Restrict doc set for analysis by location
Spatial Search Concepts • Spatial Data Types • Points (latitude/longitude) • Lines • Shapes • Maps and overlays • Streets, POI • Integration with unstructured text • Metadata, descriptions, user reviews, etc. http://www.openstreetmap.org/?lat=44.9744&lon=-93.2484&zoom=14&layers=B000FTFT
Implementation Needs • Indexing support for data types • Query Parsing • Efficient distance calculations • Euclidean, Great Circle (Haversine), Vincenty’s • Filtering • Bounding Box • Sort by Distance • Relevance Enhancement • Faceting • Advanced: shape intersections, routes
Things you can do now in Lucene/Solr • Distance Functions • Solr has: haversine (great circle), Euclidean, Manahattan (others) • Filter • Frange, Cartesian Tier/Tile coming soon, Lat/Long Range • Boost Score • http://localhost:8983/solr/select/?q=_val_:"recip(dist(2, store, point(34.0232,-81.0664)),1,1,0)"&fl=*,score • Sort • SOLR-1297 added support for sorting by Function (any function) • Contrib/Spatial has similar support
What’s next/needed • Faceting • “Generic” Filtering support • Function Query results as fields in output • Query Parsing Support • Geocoding, etc. • Shapes, lines, intersections?
Resources • https://issues.apache.org/jira/browse/SOLR-773 • Several issues in Lucene for improvements • http://wiki.apache.org/solr/SpatialSearch • http://www.nsshutdown.com/projects/lucene/whitepaper/locallucene_v2.html • http://www.ibm.com/developerworks/opensource/library/j-spatial/index.html • http://www.lucidimagination.com/search/?q=spatial