91
© 2008 Acquia, Inc. Advanced searching with Views and ApacheSolr Robert Douglass December 12, 2008 Do It With Drupal

Advanced searching with Views and ApacheSolr

Embed Size (px)

DESCRIPTION

Robert Douglass shows how to build advanced search interfaces with Drupal Views and the ApacheSolr module. Learn why faceted search is a new way of thinking about your website.

Citation preview

Page 1: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced searching with Views and ApacheSolr

Robert DouglassDecember 12, 2008

Do It With Drupal

Page 2: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

The search box

Page 3: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

The search box

It has revolutionized the Internet by taking an

impossibly large result set and making it manageable.

Page 4: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

The search box

Ye Ol’ Internets

Page 5: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

The search boxDrupal

Drupal

Page 6: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

The search boxDrupal ponies

Drupal

ponies

Page 7: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Drupal ponies bacon

The search box

Drupal

ponies

bacon

Page 8: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

The search boxDrupal ponies bacon

Jeff Eaton

Drupal

ponies

bacon

Page 9: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

The search box

You are forced to guess in advance what might be available,

and how it describes itself.

Page 10: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

The search box

Please be descriptive.

Page 11: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

The search box

And

inventive.

Page 12: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

The search box

Sorry, that doesn’t exist.

Page 13: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Drupal’s search box

Page 14: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Drupal’s search box

Page 15: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Drupal’s search box

Not exactly the emphasis of our site.

Page 16: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Drupal’s search box

Why can’t Drupal’s search be as good as Google?

Page 17: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Drupal’s search box

Tip: set your scoring factors to zero.

Page 18: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Drupal’s search box

Page 19: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Drupal’s search box

Why can’t Drupal’s search be as fast as Google?

Page 20: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Drupal’s search box

Hint: node_load()

Page 21: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

The advanced search box

Page 22: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

Attempts to reduce the result set by using meta data.

Page 23: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

Is somewhat better than the naked search box.

Page 24: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

The person searching has guidance on how to

reduce the results.

Page 25: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

You can still end up with zero results, though.

Page 26: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

You still have to guess about how to find what you’re looking for.

Page 27: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

People don’t want to have to do that much work!

Page 28: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

The best recipe for “advanced” search forms

is Views, with a search filter.

Page 29: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

Page 30: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

Page 31: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

Page 32: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

Page 33: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

Page 34: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

Page 35: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

Page 36: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Advanced search box

Page 37: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Views and search !lters

Why can’t Views with search filters be as fast as Google?

Page 38: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Views and search !lters

Hint: node_load()

Page 39: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Views and search !lters

And you can still come to a zero result search query.

Page 40: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search

Page 41: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search

Faceted search reverses the search paradigm.

Page 42: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search

Instead of thinking of a super-specific search to cut through

too many results,

Page 43: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search

you start with the most general search that describes what you’re

looking for.

Page 44: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search

From there you narrow the set down.

Page 45: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search

You get guidance from the facets.

Page 46: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search

You never come to a dead-end with zero results.

Page 47: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search

If you sense that you are refining in the wrong direction

you can back up.

Page 48: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search

Or you can remove a criterion and broaden the search.

Page 49: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search

Search becomes multi-dimensional.

Page 50: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search

Search becomes interactive.

Page 51: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search

Search becomes iterative.

Page 52: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search• Start broad and general• Narrow on facets• Sort• Back up (remove facetes)• Narrow again• Victory!

Page 53: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet faceted search

Your idea of the search goal often changes in the midst of searching.

Faceted search does more to inspire you into new directions.

Page 54: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Page 55: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Next generation search for Drupal.

Page 56: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Lucene / Solr / Drupal

Page 57: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Java = faster than PHP + MySQL

Page 58: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Solr is a separate server.

Page 59: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Database Solr Server

Webserver +

PHP

SQL

POST

to indexGET

to search

Page 60: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

ApacheSolr is a Drupal module that integrates Drupal with Solr.

http://drupal.org/project/apachesolr

Page 61: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

http://drupal.org/project/apachesolr

• Robert Douglass

• Jacob Singh

• Peter Wolanin

• Frank Febbraro

• Mike J. O’Connor

• Alejandro Garza

• Thomas Seidl

Page 62: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

ApacheSolr has native faceted search.

Page 63: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Page 64: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr• Content types• Authors• Taxonomy terms• Languages• CCK field values• Site (for multisite search)

Page 65: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

ApacheSolr has sortable search results.

Page 66: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Page 67: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

ApacheSolr can index attached files.

Page 68: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

ApacheSolr can recommend content.

Page 69: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

By evaluating the similarity of texts, Solr determines what

content has similarities.

Page 70: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

The ApacheSolr "More Like This" module

provides content recommendation blocks on node view pages.

Page 71: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Solr evaluates the title, body, taxonomy terms, author name, etc.

for similarity.

Page 72: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Content recommendationis a great tool for

making your site sticky and leading site visitors

to the next item of interest.

Page 73: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Page 74: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

ApacheSolr is highly configurable.

Page 75: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Page 76: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Page 77: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Page 78: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Page 79: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Page 80: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

ApacheSolr can search across multiple websites.

Page 81: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Page 82: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

???

Page 83: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Why can’t ApacheSolr be as fast as Google?

Page 84: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

It can be!!!

Page 85: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Hint: No node_load()

Page 86: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

ApacheSolr will soon be available as a hosted solution

from Acquia.

Page 87: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Acquia’s hosted solution is a way to scale your website.

Page 88: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Move server load from your servers to ours.

Page 89: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Move sysadmin load from your organization to ours.

Page 90: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Move uptime and monitoring worries from your team to ours.

Page 91: Advanced searching with Views and ApacheSolr

© 2008 Acquia, Inc.

Meet ApacheSolr

Questions?