Searching sucks

Click here to load reader

  • date post

  • Category


  • view

  • download


Embed Size (px)

Transcript of Searching sucks

The Holy Trinity is dead.

Searching Sucks.mapbutcher@mapbutcher.comHaving to search means you cant find something easilymapbutcher@mapbutcher.comThis might sound stupid but were increasingly dependent upon search facilities on websites.2All good applications have a facility to searchmapbutcher@mapbutcher.com3Some are better than others.mapbutcher@mapbutcher.comYour whole application suffers if your users cant find something easily.mapbutcher@mapbutcher.comIf 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.5So here are some of my tips on searchingmapbutcher@mapbutcher.comIn many cases we search for things on mapsmapbutcher@mapbutcher.comYes it may seem obvious but when presented with a map our users are searching for something on a map a location for example. 7were searching to locate something.mapbutcher@mapbutcher.comRule #1. Make the things on your maps searchable.mapbutcher@mapbutcher.comWe often use textual information to perform these searches..mapbutcher@mapbutcher.comAn address, place name, asset number, description, anythingmapbutcher@mapbutcher.comIn many cases the information your users have is unstructuredmapbutcher@mapbutcher.comSometimes they dont even know what theyre looking for!mapbutcher@mapbutcher.comThis is important and often neglected in many web GIS applications - theres often an assumption that your users know something about your data and maps.13Rule #2. Avoid structured search interfaces.mapbutcher@mapbutcher.comWe dont like waiting!mapbutcher@mapbutcher.comGoogle, once again, sets a certain expectation!mapbutcher@mapbutcher.comRule #3. Slow searches just dont cut the mustard.mapbutcher@mapbutcher.com17Its nice to get a helping hand while you search, tell me things I might want to find.mapbutcher@mapbutcher.comRule #4. Predict & Sortmapbutcher@mapbutcher.comIf your search facility doesnt do predictive its 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!19When theres lots of information then help your usersmapbutcher@mapbutcher.comBecause maps usually have layers then grouping your search results can be useful.

Remembering what I said earlier then sometimes your users dont know what theyre looking for and they appreciate an aid 20Guide your users, use a type and group on the basis of this typemapbutcher@mapbutcher.comBecause maps usually have layers then grouping your search results can be useful.

Remembering what I said earlier then sometimes your users dont know what theyre looking for and they appreciate a middle step21Rule #5. Clustermapbutcher@mapbutcher.comThe basis of clustering in search is to provide intermediate steps into your resources group and count, group and count, group and count22If 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.mapbutcher@mapbutcher.comFull Text Searching can help.mapbutcher@mapbutcher.comThe basis of full text searching is24In a full text search, thesearch engineexamines all of the words in every stored document as it tries to match search words supplied by the user.mapbutcher@mapbutcher.comThe basis of full text searching is25Enter Solrmapbutcher@mapbutcher.comTalk briefly about Solr26You cant talk about Solr before talking about Lucenemapbutcher@mapbutcher.comLucene = Apache Open Source High Performance Text Search Enginemapbutcher@mapbutcher.comLucene = 100% Javamapbutcher@mapbutcher.comLucene = Incredibly Fast Indexing (This is where you might write some SQL)mapbutcher@mapbutcher.comIndexing = Stuffing the stuff youre interested in, into documents that Lucene loves.mapbutcher@mapbutcher.comSo what is Solr?mapbutcher@mapbutcher.comSits on top of Lucenemapbutcher@mapbutcher.comProvides a RESTful interface over Lucene goodnessmapbutcher@mapbutcher.comWhy is Solr important for Spatial Applications?mapbutcher@mapbutcher.comSolr does all the things your application needs to do in terms of searching.mapbutcher@mapbutcher.comHere are just a fewmapbutcher@mapbutcher.comFull Text Search & Sortingmapbutcher@mapbutcher.comQueries are executed by issuing HTTP GET requests38http://localhost:8080/Solr/select?q=Manlymapbutcher@mapbutcher.comQueries are executed by issuing HTTP GET

Queries are executed by issuing HTTP GET requests40Hit Highlightingmapbutcher@mapbutcher.comFacetingmapbutcher@mapbutcher.comhttp://localhost:8080/Solr/select?indent=on&version=2.2&q=great&facet=true&

Database Integrationmapbutcher@mapbutcher.comand.mapbutcher@mapbutcher.comSolr has some basic spatial goodness mapbutcher@mapbutcher.comPoints only at the momentmapbutcher@mapbutcher.comhttp://localhost:8080/Solr/select/?q=Camp&fq={!type=geofilt}&sfield=coords&pt=-45.56862830,167.61154830&

mapbutcher@mapbutcher.comDont make it hard for your users to find your data!