Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Search with Solr

4,815 views

Published on

With Google constantly pushing the customer expectations of searching, is it time to move away from our database full-text search in pursuit of a more targeted platform? Can implementing Solr offer more than an answer to a search? Implementing a search platform isn’t always suitable for all applications, but in this talk we’ll look at identifying the right search solution, choosing the best way to integrate it into our application and exploring all the benefits a search server can offer.

Published in: Technology
  • Be the first to comment

Search with Solr

  1. 1. Searching with SolrWhen, Why and How?<br />By Paul Matthews<br />
  2. 2. 86p<br />@paulmatthews86<br />86p.paul-matthews.co.uk<br />pmatthews@ibuildings.com<br />techportal.ibuildings.com<br />Projects:<br />Travel companies<br />Media corporations<br />1<br />
  3. 3. Searching…<br />What?<br />When?<br />Why?<br />How?<br />2<br />
  4. 4. Searching…<br />What?<br />When?<br />Why?<br />How?<br />3<br />
  5. 5. What is search?<br />Text navigation<br />Customers describing<br />Sorting<br />Examples<br />Quick search<br />Category listings<br />4<br />
  6. 6. The power of search<br />5<br />
  7. 7. Database Like<br />6<br />
  8. 8. Database Like<br />Very little effort<br />A very basic search<br />Poor at: > 1 word<br />7<br />
  9. 9. Database Full-Text<br />8<br />
  10. 10. Database Full-Text<br />Some power<br />Convenient<br />Feature poor<br />Often very slow<br />9<br />
  11. 11. Basic Search Systems<br />10<br />
  12. 12. Basic Search Systems<br />Rapid search<br />Simple to setup<br />Feature poor<br />Accuracy<br />Require more application code<br />11<br />
  13. 13. Solr Search<br />12<br />
  14. 14. Solr Search<br />Very powerful<br />Feature rich<br />Relatively simple<br />Lots of plugins (community)<br />Overkill?<br />Java<br />13<br />
  15. 15. Things you need to know<br />14<br />
  16. 16. Searching…<br />What?<br />When?<br />Why?<br />How?<br />15<br />
  17. 17. Applicable to me?<br />Who is Solr designed for?<br />Traffic<br />Features<br />When is a good time to implement it?<br />Creation<br />Post-live<br />Open Source projects<br />16<br />
  18. 18. Business indicators<br />Money / Time / Effort spent<br />Bugs<br />Tuning<br />Features<br />Customers<br />17<br />
  19. 19. Development indicators<br />Data<br />MySQL Full Text<br />Degradation<br />18<br />
  20. 20. Searching…<br />What?<br />When?<br />Why?<br />How?<br />19<br />
  21. 21. Is Solr right for me?<br />Know your enemy<br />With great functionality comes great responsibility<br />20<br />
  22. 22. Data sources<br />Database<br />Easy<br />API<br />Features<br />CSV & XML<br />Solr Cell - Rich Documents<br />PDF<br />MS Office<br />21<br />
  23. 23. Indexing<br />Parsing<br />Half now, half later<br />22<br />
  24. 24. Analyzer<br />Process documents<br />The query gets analyzed too<br />23<br />
  25. 25. Tokenizer<br />24<br />
  26. 26. TokenizerFilter<br />Synonym<br />25<br />
  27. 27. Stemming<br />Matching similar words<br />Reduce to Stem<br />26<br />Searching<br />Search<br />Searches<br />Searched<br />Searchers<br />Search<br />
  28. 28. Hit Highlighting<br />“Hit” ==> “This is a <em>Hit</em> test.”<br />27<br />
  29. 29. Spell Check<br />Spelchk<br />Did you mean …?<br />“flickr” <br />28<br />
  30. 30. 29<br />
  31. 31. By the power of Queries!<br />Phrase “Search for a phrase”<br />Wildcards Look*familiar?<br />Fuzzy fuzzy~ <br />Proximity “two words”~12<br />Range name:{Paul TO Jeff}<br />30<br />
  32. 32. name:paul AND location:uk<br />A single field<br />Multiple Fields<br />31<br />
  33. 33. Faceting (21)<br />Pre-fetching (11)<br />Results (37)<br />32<br />
  34. 34. Ranked Search<br />Ordered<br />Any field<br />33<br />
  35. 35. Simultaneous update & search<br />Hold on a minute!<br />Actually, I don’t have to…<br />34<br />
  36. 36. Searching…<br />What?<br />When?<br />Why?<br />How?<br />35<br />
  37. 37. Flow<br />36<br />
  38. 38. Container<br />Choose container<br />Make accessible<br />http://<host>:<port>/solr/admin<br />37<br />
  39. 39. SolrConfig<br />Cores ~ Database Schema<br />schema.xml ~ Schema definition<br />38<br />
  40. 40. Fields<br />Define the data<br />indexed<br />Stored<br />Important to model accurately<br />Tweak to achieve functionality<br />Conscious of space and index<br />39<br />
  41. 41. Index<br />Create documents to Schema Spec<br />40<br />
  42. 42. Search<br />Quick Search<br />Default Search<br />Advanced Search<br />41<br />
  43. 43. Quick Search<br />Partial words<br />Search all fields?<br />Required response data<br />42<br />
  44. 44. Default Search<br />Consider useful Analyzers<br />Potentially match on more fields<br />Enrich or refine results with personal data<br />More in depth results<br />43<br />
  45. 45. Advanced Search<br />Offer user control<br />Consider search storage<br />Data size vs Additional queries<br />To return more / less results<br />“Search entire document”<br />“Filter by Colour”<br />44<br />
  46. 46. Searching…<br />What?<br />When?<br />Why?<br />How?<br />45<br />
  47. 47. Questions?<br />46<br />
  48. 48. We’re Hiring<br />NL<br />Vlissingen<br />Utrecht<br />UK<br />London<br />Sheffield<br />Liverpool<br />Speak to me at the end…<br />pmatthews@ibuildings.com<br />47<br />
  49. 49. Thank you<br />Resources Links:<br />http://www.delicious.com/paulm86/solr<br />This talk:<br />http://joind.in/3221<br />Contact Me:<br />@paulmatthews86<br />http://about.me/paul.matthews<br />48<br />

×