Searching Sucks.<br />mapbutcher@mapbutcher.com<br />
Having to search means you can’t find something easily<br />mapbutcher@mapbutcher.com<br />
All good applications have a facility to search<br />mapbutcher@mapbutcher.com<br />
Some are better than others….<br />mapbutcher@mapbutcher.com<br />
Your whole application suffers if your users can’t find something easily.<br />mapbutcher@mapbutcher.com<br />
So here are some of my tips on searching<br />mapbutcher@mapbutcher.com<br />
In many cases we search for things on maps<br />mapbutcher@mapbutcher.com<br />
…we’re searching to locate something.<br />mapbutcher@mapbutcher.com<br />
Rule #1. Make the things on your maps searchable.<br />mapbutcher@mapbutcher.com<br />
We often use textual information to perform these searches..<br />mapbutcher@mapbutcher.com<br />
An address, place name, asset number, description, anything…<br />mapbutcher@mapbutcher.com<br />
In many cases the information your users have is unstructured<br />mapbutcher@mapbutcher.com<br />
Sometimes they don’t even know what they’re looking for!<br />mapbutcher@mapbutcher.com<br />
Rule #2. Avoid structured search interfaces.<br />mapbutcher@mapbutcher.com<br />
We don’t like waiting!<br />mapbutcher@mapbutcher.com<br />
Google, once again, sets a certain expectation!<br />mapbutcher@mapbutcher.com<br />
Rule #3. Slow searches just don’t cut the mustard.<br />mapbutcher@mapbutcher.com<br />
It’s nice to get a helping hand while you search, tell me things I might want to find.<br />mapbutcher@mapbutcher.com<br />
Rule #4. Predict & Sort<br />mapbutcher@mapbutcher.com<br />
When there’s lots of information then help your users<br />mapbutcher@mapbutcher.com<br />
Guide your users, use a type and group on the basis of this type<br />mapbutcher@mapbutcher.com<br />
Rule #5. Cluster<br />mapbutcher@mapbutcher.com<br />
If you normally provide a search facility in your application by writing a SQL statement then you may want to listen caref...
Full Text Searching can help.<br />mapbutcher@mapbutcher.com<br />
In a full text search, the search engine examines all of the words in every stored document as it tries to match search wo...
Enter Solr<br />mapbutcher@mapbutcher.com<br />
You can’t talk about Solr before talking about Lucene<br />mapbutcher@mapbutcher.com<br />
Lucene = Apache Open Source High Performance Text Search Engine<br />mapbutcher@mapbutcher.com<br />
Lucene  = 100% Java<br />mapbutcher@mapbutcher.com<br />
Lucene  = Incredibly Fast Indexing (This is where you might write some SQL)<br />mapbutcher@mapbutcher.com<br />
Indexing  = Stuffing the stuff you’re interested in, into documents that Lucene loves.<br />mapbutcher@mapbutcher.com<br />
So what is Solr?<br />mapbutcher@mapbutcher.com<br />
Sits on top of Lucene<br />mapbutcher@mapbutcher.com<br />
Provides a RESTful interface over Lucene goodness<br />mapbutcher@mapbutcher.com<br />
Why is Solr important for Spatial Applications?<br />mapbutcher@mapbutcher.com<br />
Solr does all the things your application needs to do in terms of searching.<br />mapbutcher@mapbutcher.com<br />
Here are just a few…<br />mapbutcher@mapbutcher.com<br />
Full Text Search & Sorting<br />mapbutcher@mapbutcher.com<br />
http://localhost:8080/Solr/select?q=Manly<br />mapbutcher@mapbutcher.com<br />
mapbutcher@mapbutcher.com<br />
Hit Highlighting<br />mapbutcher@mapbutcher.com<br />
Faceting<br />mapbutcher@mapbutcher.com<br />
http://localhost:8080/Solr/select?indent=on&version=2.2&q=great&facet=true&facet.field=poi_category<br />mapbutcher@mapbut...
mapbutcher@mapbutcher.com<br />
Database Integration<br />mapbutcher@mapbutcher.com<br />
and….<br />mapbutcher@mapbutcher.com<br />
Solr has some basic spatial goodness <br />mapbutcher@mapbutcher.com<br />
Points only at the moment<br />mapbutcher@mapbutcher.com<br />
http://localhost:8080/Solr/select/?q=Camp&fq={!type=geofilt}&sfield=coords&pt=-45.56862830,167.61154830&d=53<br />mapbutch...
mapbutcher@mapbutcher.com<br />
Don’t make it hard for your users to find your data!thanks<br />mapbutcher@mapbutcher.com<br />
Upcoming SlideShare
Loading in...5
×

Searching sucks

1,326

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,326
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • This might sound stupid but we’re increasingly dependent upon search facilities on websites.
  • If the content your user wants is not immediately visible on your website then the power of your searching is critical to your applications success. Mapping applications are especially relevant here – content is embedded in maps.
  • Yes – it may seem obvious but when presented with a map our users are searching for something on a map – a location for example.
  • This is important and often neglected in many web GIS applications - there’s often an assumption that your users know something about your data and maps.
  • If your search facility doesn’t do predictive it’s a big fail. Predictive searching stops your users making mistakes!Sorting your results in the next step - telling them what they might be looking for is cool, but getting it right is even cooler!
  • Because maps usually have layers then grouping your search results can be useful.Remembering what I said earlier then sometimes your users don’t know what they’re looking for and they appreciate an aid
  • Because maps usually have layers then grouping your search results can be useful.Remembering what I said earlier then sometimes your users don’t know what they’re looking for and they appreciate a middle step
  • The basis of clustering in search is to provide intermediate steps into your resources – group and count, group and count, group and count
  • The basis of full text searching is…………
  • The basis of full text searching is…………
  • Talk briefly about Solr…
  • Queries are executed by issuing HTTP GET requests
  • Queries are executed by issuing HTTP GET requests
  • Queries are executed by issuing HTTP GET requests
  • Searching sucks

    1. 1. Searching Sucks.<br />mapbutcher@mapbutcher.com<br />
    2. 2. Having to search means you can’t find something easily<br />mapbutcher@mapbutcher.com<br />
    3. 3. All good applications have a facility to search<br />mapbutcher@mapbutcher.com<br />
    4. 4. Some are better than others….<br />mapbutcher@mapbutcher.com<br />
    5. 5. Your whole application suffers if your users can’t find something easily.<br />mapbutcher@mapbutcher.com<br />
    6. 6. So here are some of my tips on searching<br />mapbutcher@mapbutcher.com<br />
    7. 7. In many cases we search for things on maps<br />mapbutcher@mapbutcher.com<br />
    8. 8. …we’re searching to locate something.<br />mapbutcher@mapbutcher.com<br />
    9. 9. Rule #1. Make the things on your maps searchable.<br />mapbutcher@mapbutcher.com<br />
    10. 10. We often use textual information to perform these searches..<br />mapbutcher@mapbutcher.com<br />
    11. 11. An address, place name, asset number, description, anything…<br />mapbutcher@mapbutcher.com<br />
    12. 12. In many cases the information your users have is unstructured<br />mapbutcher@mapbutcher.com<br />
    13. 13. Sometimes they don’t even know what they’re looking for!<br />mapbutcher@mapbutcher.com<br />
    14. 14. Rule #2. Avoid structured search interfaces.<br />mapbutcher@mapbutcher.com<br />
    15. 15. We don’t like waiting!<br />mapbutcher@mapbutcher.com<br />
    16. 16. Google, once again, sets a certain expectation!<br />mapbutcher@mapbutcher.com<br />
    17. 17. Rule #3. Slow searches just don’t cut the mustard.<br />mapbutcher@mapbutcher.com<br />
    18. 18. It’s nice to get a helping hand while you search, tell me things I might want to find.<br />mapbutcher@mapbutcher.com<br />
    19. 19. Rule #4. Predict & Sort<br />mapbutcher@mapbutcher.com<br />
    20. 20. When there’s lots of information then help your users<br />mapbutcher@mapbutcher.com<br />
    21. 21. Guide your users, use a type and group on the basis of this type<br />mapbutcher@mapbutcher.com<br />
    22. 22. Rule #5. Cluster<br />mapbutcher@mapbutcher.com<br />
    23. 23. If you normally provide a search facility in your application by writing a SQL statement then you may want to listen carefully to the next bit.<br />mapbutcher@mapbutcher.com<br />
    24. 24. Full Text Searching can help.<br />mapbutcher@mapbutcher.com<br />
    25. 25. In a full text search, the search engine examines all of the words in every stored document as it tries to match search words supplied by the user.<br />mapbutcher@mapbutcher.com<br />
    26. 26. Enter Solr<br />mapbutcher@mapbutcher.com<br />
    27. 27. You can’t talk about Solr before talking about Lucene<br />mapbutcher@mapbutcher.com<br />
    28. 28. Lucene = Apache Open Source High Performance Text Search Engine<br />mapbutcher@mapbutcher.com<br />
    29. 29. Lucene = 100% Java<br />mapbutcher@mapbutcher.com<br />
    30. 30. Lucene = Incredibly Fast Indexing (This is where you might write some SQL)<br />mapbutcher@mapbutcher.com<br />
    31. 31. Indexing = Stuffing the stuff you’re interested in, into documents that Lucene loves.<br />mapbutcher@mapbutcher.com<br />
    32. 32. So what is Solr?<br />mapbutcher@mapbutcher.com<br />
    33. 33. Sits on top of Lucene<br />mapbutcher@mapbutcher.com<br />
    34. 34. Provides a RESTful interface over Lucene goodness<br />mapbutcher@mapbutcher.com<br />
    35. 35. Why is Solr important for Spatial Applications?<br />mapbutcher@mapbutcher.com<br />
    36. 36. Solr does all the things your application needs to do in terms of searching.<br />mapbutcher@mapbutcher.com<br />
    37. 37. Here are just a few…<br />mapbutcher@mapbutcher.com<br />
    38. 38. Full Text Search & Sorting<br />mapbutcher@mapbutcher.com<br />
    39. 39. http://localhost:8080/Solr/select?q=Manly<br />mapbutcher@mapbutcher.com<br />
    40. 40. mapbutcher@mapbutcher.com<br />
    41. 41. Hit Highlighting<br />mapbutcher@mapbutcher.com<br />
    42. 42. Faceting<br />mapbutcher@mapbutcher.com<br />
    43. 43. http://localhost:8080/Solr/select?indent=on&version=2.2&q=great&facet=true&facet.field=poi_category<br />mapbutcher@mapbutcher.com<br />
    44. 44. mapbutcher@mapbutcher.com<br />
    45. 45. Database Integration<br />mapbutcher@mapbutcher.com<br />
    46. 46. and….<br />mapbutcher@mapbutcher.com<br />
    47. 47. Solr has some basic spatial goodness <br />mapbutcher@mapbutcher.com<br />
    48. 48. Points only at the moment<br />mapbutcher@mapbutcher.com<br />
    49. 49. http://localhost:8080/Solr/select/?q=Camp&fq={!type=geofilt}&sfield=coords&pt=-45.56862830,167.61154830&d=53<br />mapbutcher@mapbutcher.com<br />
    50. 50. mapbutcher@mapbutcher.com<br />
    51. 51. Don’t make it hard for your users to find your data!thanks<br />mapbutcher@mapbutcher.com<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×