Professional Documents
Culture Documents
Abstract
Got data? Let's make it searchable! This interactive presentation will demonstrate getting documents into Solr quickly, will provide some tips in adjusting Solr's schema to match your needs better, and finally will discuss how showcase your data in a flexible search user interface. We'll see how to rapidly leverage faceting, highlighting, spell checking, and debugging. Even after all that, there will be enough time left to outline the next steps in developing your search application and taking it to production.
My Background
Erik Hatcher
Lucid Imagination
Technical Staff
Co-author
Java Development with Ant / Ant in Action (Manning) Lucene in Action (Manning)
Why prototype?
Demonstrate Solr can handle your data and searching needs; mitigate risk, learn the unknown Its quick and easy, with very little time investment Immediate functional user interface impresses decision makers and target users; get buy-in
The user interface IS the app
Prior Art
Hoss amazing ISFDB work
http://www.lucidimagination.com/blog/tag/isfdb/
Tweak configuration
schema: domain-centric field names solrconfig: /browse request handler Template adjustments
Instant classic search results view, tree map visualization of facet data, and random selection of contest winners
7
CSV results
10
Explaining
11
Suggest
12
Venn Viz
13
E-commerce data
http://bbyopen.com/ Product data, via easy HTTP JSON API
14
15
16
on Prism
17
What is Prism?
Yet another opinionated brainstorm from Erik https://github.com/lucidimagination/Prism Under the covers
Ruby
because its beautiful
Sinatra
to be lightweight and have elegant flexible routing
Velocity
because it is easy to learn and use, and has powerful features, facilitates edit/refresh work
Separate from Solr, Rack-savvy, allows easy coding of new routes and capabilities Designed to work with any arbitrary Solr instance, and already has some basic LucidWorks Enterprise capability Totally a proof-of-concept at this point just a quick hack
18
on Solritas
19
Solritas?
Pronounced: so-LAIR-uh-toss Celeritas is a Latin word, translated as "swiftness" or "speed". It is often given as the origin of the symbol c, the universal notation for the speed of light - http:// en.wikipedia.org/wiki/Celeritas Technically its the VelocityResponseWriter (wt=velocity)
simply passes the Solr response through the Apache Velocity templating engine
http://wiki.apache.org/solr/VelocityResponseWriter Built into Solr, available instantly out of the box at: http://localhost:8983/solr/browse
20
on Blacklight
21
Blacklight?
http://projectblacklight.org/ Blacklight is a free and open source Ruby on Rails based discovery interface (a.k.a. next-generation catalog) especially optimized for heterogeneous collections. You can use it as a library catalog, as a front end for a digital repository, or as a single-search interface to aggregate digital content that would otherwise be siloed. Production sites:
http://search.lib.virginia.edu/ http://searchworks.stanford.edu/ Features: Authentication Saved searches Bookmarks saved result items Selected items for exporting to 3rd party systems Customizable / extensible UI
22
Schema adjusting
<dynamicField name="*" type="string" multiValued="true"/> <copyField source="*" dest="text"/>
Data analysis
Understand what Solr is doing with your fields Solrs Schema Browser and /admin/luke request handler
UI
/browse easy tweaking of <solr-home>/conf/velocity/*.vm templates
23
Now what?
Script the indexing process: full and incremental/delta Work with real users on real needs Integrate into production systems Iterate on schema enhancements and configuration tweaks Deploy to staging/production environments and work at scale: collection size, real queries and volume, hardware and JVM settings
24
Test
Performance Scalability Relevance Automate all of the above, start baselines, avoid regressions
25
Thanks!
26