Solr Flair: Search User Interfaces Powered by Apache Solr

Preview:

DESCRIPTION

Solr powers library, government, and enterprise search systems in thousands of applications. This talk will showcase the various technologies and techniques used to build effective user search, browse, and find interfaces on top of Solr. Several of the full featured open-source library Solr front-ends will be shown, including Blacklight and VuFind. We’ll also demonstrate several front-end frameworks including: • SolrJS - a JavaScript widget library • Solr Flare - a Ruby on Rails plugin featuring Simile Timeline integration, Ajax suggest, and more • Solritas - a built-in lightweight UI templating frameworkAdditionally, we’ll take a look under the covers of http://search.lucidimagination.com and see what makes it shine.

Citation preview

Solr FlairSearch User Interfaces Powered by Apache Solr

Erik Hatcher

erik.hatcher@lucidimagination.com

1

patacriticism.org

"Poets are the unacknowledged engineers of the world"- Monna Grémejc

2

Patacritical Projects

• RoSe: Rossetti Searchrossettiarchive.org

• Collex: Collect/Exhibitcollex.org

3

serendipity

4

Rossetti Archive

http://www.rossettiarchive.org/rose/?query=%2Bpresentation+%2B%28archivetype%3Arap%29

5

NINES on Collex

http://www.nines.org/search/saved?user=erikhatcher&name=wombat

6

NINES tag cloud

http://www.nines.org/tags

7

Finding the Celtic on Collex

http://celtic.ibiblio.org/collex/8

Simile Timeline

http://celtic.ibiblio.org/timeline/show9

Geographic

http://celtic.ibiblio.org/atlas/show10

Graphs

http://celtic.ibiblio.org/graph/show11

Solr

DB

Data

Search Results

DocumentDocumentDocuments

Solr

• Search server, powered by Lucene

• Indexing/searching via HTTP, responses in XML, Ruby, PHP, Python, XSLT, etc

• Faceting

• Scalability: caching, replication, distributed search

• Integrates: spell checking, highlighting, more-like-this, clustering, rich document indexing, data import handling (RDBMS, and more)

12

Lucene

inverted index

from "Taming Text" by Grant Ingersoll and Tom Morton

analysis

13

Facets

• Sets, buckets

• (Un)common / similar metadata

• Useful for making sense of large datasets: navigation, foraging, context, visualization

• By field, date ranges, or dynamic queries

14

Solr Flare

• Ruby on Rails plugin

• facet field detection, autosuggest, saved search, inverted facets, pie charts, Simile Timeline and Exhibit integration

• Useful for rapid prototyping

• See Flare's big brother, Blacklight, for production quality

15

Tang on Flare

16

Solr Powered Library Systems

• VuFind (PHP)

• Kochief (Python)

• Blacklight (Ruby)

• and others

17

• UVA radiation = blacklight

• libraries are much more than books

• opinionated

• Ruby on Rails: best choice for an extensible user interface development framework

18

Blacklight @ UVa

19

Blacklight @ Stanford

20

Blacklight @ AgNIC

21

SolrJS

• jQuery-based interactions with Solr

• Query navigation state management and widgets

• Evolving rapidly: Drupal contributed improvements (see http://drupal.org/project/solrjs) coming soon

• Live example: http://solrjs.solrstuff.org/

22

SolrJS Example

23

Solritas

• celeritas: swiftness, speed (Latin), origin of the symbol "c" for the speed of light

• solritas: Velocity template rendering of Solr responses

• Useful for rapid prototyping and more

24

Lucene in Action on Solritas

coming soon: lucenebook.com25

LucidFind

http://www.lucidimagination.com/search/?q=user+interface

26

Food for thought

• The interface is the application

• URLs are UI too!

• Facets aren't just for lists (with counts)

• be creative: clouds, maps, graphs, etc...

• entice users to forage and browse, facilitate serendipitous discovery

27

Shout Out

28

29