Download - Searching sucks

Transcript

Searching [email protected]

Having to search means you can’t find something easily

[email protected]

All good applications have a facility to search

[email protected]

Some are better than others….

[email protected]

Your whole application suffers if your users can’t find something

easily.

[email protected]

So here are some of my tips on searching

[email protected]

In many cases we search for things on maps

[email protected]

…we’re searching to locate something.

[email protected]

Rule #1. Make the things on your maps searchable.

[email protected]

We often use textual information to perform these searches..

[email protected]

An address, place name, asset number, description, anything…

[email protected]

In many cases the information your users have is unstructured

[email protected]

Sometimes they don’t even know what they’re looking for!

[email protected]

Rule #2. Avoid structured search interfaces.

[email protected]

We don’t like waiting!

[email protected]

Google, once again, sets a certain expectation!

[email protected]

Rule #3. Slow searches just don’t cut the mustard.

[email protected]

It’s nice to get a helping hand while you search, tell me things I might

want to find.

[email protected]

Rule #4. Predict & Sort

[email protected]

When there’s lots of information then help your users

[email protected]

Guide your users, use a type and group on the basis of this type

[email protected]

Rule #5. Cluster

[email protected]

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.

[email protected]

Full Text Searching can help.

[email protected]

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.

[email protected]

Enter Solr

[email protected]

You can’t talk about Solr before talking about Lucene

[email protected]

Lucene = Apache Open Source High Performance Text Search Engine

[email protected]

Lucene = 100% Java

[email protected]

Lucene = Incredibly Fast Indexing (This is where you might write

some SQL)

[email protected]

Indexing = Stuffing the stuff you’re interested in, into documents that

Lucene loves.

[email protected]

So what is Solr?

[email protected]

Sits on top of Lucene

[email protected]

Provides a RESTful interface over Lucene goodness

[email protected]

Why is Solr important for Spatial Applications?

[email protected]

Solr does all the things your application needs to do in terms of

searching.

[email protected]

Here are just a few…

[email protected]

Full Text Search & Sorting

[email protected]

http://localhost:8080/Solr/select?q=Manly

[email protected]

Hit Highlighting

[email protected]

Faceting

[email protected]

http://localhost:8080/Solr/select?indent=on&version=2.2&q=great&fac

et=true&facet.field=poi_category

[email protected]

Database Integration

[email protected]

and….

[email protected]

Solr has some basic spatial goodness

[email protected]

Points only at the moment

[email protected]

http://localhost:8080/Solr/select/?q=Camp&fq={!type=geofilt}&sfield=c

oords&pt=-45.56862830,167.61154830&d=53

[email protected]

[email protected]

Don’t make it hard for your users to find your data!

thanks