Context Driven Search Ranking and Faceting

Context Driven Search Ranking and Faceting

A6bb61c55fa41db28e68cd476cb54ab9?s=128

Torsten Bøgh Köster

September 14, 2017
Tweet

Transcript

  1. Context Driven Search Ranking and Faceting Torsten Bøgh Köster CTO,

    shopping24 internet group
  2. @tboeghk #cto, Search Technology Meetup #hamburg, #10YearsSolr, #roadbike, #landscapephotography Torsten

    Bøgh Köster | torsten.koester@s24.com | @tboeghk | developer.s24.com
  3. e-commerce product search

  4. related products on 3rd party websites

  5. Open Source Power Delivered.

  6. 10 years live on Apache Solr

  7. highly customized solr

  8. solr.cool extension directory

  9. Search is contextless

  10. Make search context aware

  11. personalization

  12. conversational context @chatshopper

  13. category context

  14. upfront decision for known queries query —> category

  15. ambiguous queries „braun“

  16. What about new, trending queries?

  17. who wants to configure ∞ query entries?

  18. (1) Detect category context through current search result inspection

  19. Define contexts as Solr queries

  20. represent category context definition as bitset Load JSON from Zookeeper

    Evaluate to BitSet in newSearcher event
  21. BitSets are fun! docid —> boolean

  22. testing current query against category context definitons

  23. Build a PostFilter … QParserPlugin … Collector

  24. decisions for a full search result

  25. handle collisions

  26. (2) faceting depending on detected context

  27. Configure facets per context

  28. Add own component to configure faceting

  29. (3) apply ranking depending on detected context

  30. Change scoring during scoring by breaking deferring delegation

  31. None
  32. Gets called for each docid and returns the scroe

  33. None
  34. (4) Make it fast

  35. Introduce a bounded ranking buffer

  36. Fill a bounded buffer. Decide context upon full buffer or

    finish() call
  37. Next: Make it stable, Make it better

  38. None
  39. Image Credits https://www.flickr.com/photos/salihan/7040163843 https://www.flickr.com/photos/scrapthispack/2034500846 https://www.flickr.com/photos/135652812@N05/23375030520 https://www.flickr.com/photos/cozymax/10345521973 https://www.flickr.com/photos/juliegallo/9503466665 https://www.flickr.com/photos/platform3/11350560215 https://www.flickr.com/photos/photo64/6341135231 https://www.flickr.com/photos/opoterser/3760102198

    https://www.flickr.com/photos/smemon/14931786713 https://www.flickr.com/photos/cyclotourist/25362023650 https://www.flickr.com/photos/lain32/8321828310 https://www.flickr.com/photos/oter/5238799883 https://www.flickr.com/photos/clement127/16056864658 https://www.flickr.com/photos/brendanlynch/4765970880 https://www.flickr.com/photos/rrenomeron/8771565313/ https://www.flickr.com/photos/eugenuity/34113551603 https://www.flickr.com/photos/justinwkern/4535555236