Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ten Tips to completely fail building your Search Project

Ten Tips to completely fail building your Search Project

Search can be just solved by using Elasticsearch, or Solr, out of the box, right? If you wanna learn how to make sure you completely fail at search, this is your talk. Using real world examples we will review common patterns that will make your project search fail. With this talk you will learn, how to setup search ones and never touch it again. If it works for you, is good enough, users don’t have a saying on finding items. Users know what they want, no need to help them in the process.etc. Having this tips in mind, you will completely fail on search, and your product and business owners will never come back to you with complicated stuff to change your search cluster.

Pere Urbón

April 25, 2018
Tweet

More Decks by Pere Urbón

Other Decks in Technology

Transcript

  1. @purbon
    10 (or so) tips to
    completely fail building
    your search

    View Slide

  2. @purbon
    Pere Urbon-Bayes
    Software Architect

    View Slide

  3. @purbon
    Disclaimer

    View Slide

  4. @purbon
    This is not about:

    View Slide

  5. @purbon
    you or your project

    View Slide

  6. @purbon
    your future projects

    View Slide

  7. @purbon
    finger pointing

    View Slide

  8. @purbon
    This is about:

    View Slide

  9. @purbon
    Learning how to build
    proper search with a
    good sense humor

    View Slide

  10. @purbon
    Your boss wants to modernise!
    You don’t want to do it.
    Everybody knows, If it works, don’t touch it!
    Your plans are…..

    View Slide

  11. @purbon

    View Slide

  12. @purbon
    Lets rewind a bit…

    View Slide

  13. @purbon
    Your boss, who visited an elastic meetup, is
    asking you to build a modern site search.
    Machine Learning
    Personalisation
    Natural Language
    Processing
    Deep Learning
    Recommenders

    View Slide

  14. @purbon

    View Slide

  15. @purbon
    WorkQueueOverflowException

    View Slide

  16. @purbon

    View Slide

  17. @purbon
    We prefer rest

    View Slide

  18. @purbon
    than hard work

    View Slide

  19. @purbon
    Don’t worry, we are here to
    help you!

    View Slide

  20. @purbon
    Plan countdown

    View Slide

  21. @purbon
    7

    View Slide

  22. @purbon
    No need to manage search

    View Slide

  23. @purbon
    First, Let’s Fire All the
    Managers.
    by Gary Hamel
    https://hbr.org/2011/12/first-lets-fire-all-the-managers

    View Slide

  24. @purbon
    Content don’t need cleanup.
    Metadata is overrated.
    The UI and UX is not worth it.

    View Slide

  25. @purbon
    They don't want to see us unite:
    All they want us to do is keep on fussing and
    fighting.
    They don't want to see us live together:
    All they want us to do is keep on killing one
    another.
    Bob Marley

    View Slide

  26. @purbon
    Divide et impera, your search team
    members are better disconnected
    caos is secure!

    View Slide

  27. @purbon
    6

    View Slide

  28. @purbon
    Search is a technical problem

    View Slide

  29. @purbon
    To follow this tip there is only one rule:
    • Search stays only within engineering.
    • No other parts of the business will ever
    take part of it.

    View Slide

  30. @purbon
    Geeks at work

    View Slide

  31. @purbon
    What can go wrong,
    if no product people is involved?

    View Slide

  32. @purbon
    You all know, search is as easy as
    setting up Elasticsearch or Solr
    The domain is not relevant at all
    Understanding users needs is overrated

    View Slide

  33. @purbon
    5

    View Slide

  34. @purbon
    Silver bullet search

    View Slide

  35. @purbon
    Have you ever been in such situation?
    Business comes to IT with a magic solution
    that will solve all existing problems.
    Search (or any other kind of) vendor promises
    to solve all your company problems.

    View Slide

  36. @purbon
    You don’t know how, but
    the magic solution gets in,
    what could go wrong?

    View Slide

  37. @purbon
    Initial honeymoon is
    over, and ….

    View Slide

  38. @purbon
    Boom!

    View Slide

  39. @purbon

    View Slide

  40. @purbon
    The cloud discontinuity
    acquisition paradox

    View Slide

  41. @purbon
    The manipulation plot

    View Slide

  42. @purbon
    Search is an easy problem
    Get an account on algolia, or get marklogic
    licence and solve all the problems
    Silver bullets are there for a reason!

    View Slide

  43. @purbon
    4

    View Slide

  44. @purbon
    Search does not require test

    View Slide

  45. @purbon
    Search engine testing is too hard, we
    don’t want to do it.
    remember….

    View Slide

  46. @purbon
    We prefer rest

    View Slide

  47. @purbon
    than hard work!

    View Slide

  48. @purbon
    But how should we do that?

    View Slide

  49. @purbon
    Pretend you are busy
    few useful ideas…

    View Slide

  50. @purbon

    View Slide

  51. @purbon
    Logging user queries is not important
    Make your own educated guesses
    about queries
    Optimise for the uncommon input
    queries

    View Slide

  52. @purbon
    Use very specific queries
    open ended queries are also good use
    cases.

    View Slide

  53. @purbon
    Non product query terms are not
    important
    Disregards steaming effects on input
    query terms

    View Slide

  54. @purbon
    Discards investigating query exit rate.
    Queries with lots of refinements are
    nothing to be reviewed.

    View Slide

  55. @purbon
    Remember, search is not testable!
    everybody should be aware of it

    View Slide

  56. @purbon
    3

    View Slide

  57. @purbon
    Search doesn’t require UX

    View Slide

  58. @purbon
    UX is an overrated field
    The UI will not affect search quality

    View Slide

  59. @purbon
    If users don’t find results is their
    problem

    View Slide

  60. @purbon
    Hide your search bar at all costs

    View Slide

  61. @purbon
    Make your auto suggest random

    View Slide

  62. @purbon
    Don’t show progress

    View Slide

  63. @purbon
    Search does not require UX
    Have a search box,
    never think about UI anymore

    View Slide

  64. @purbon
    2

    View Slide

  65. @purbon
    Optimise for SEO but not for
    in-app search.

    View Slide

  66. @purbon
    Have this conversation feel familiar to
    you?
    Leadership wonders how to improve
    user search process
    There is not much of understanding of
    search

    View Slide

  67. @purbon
    Let’s optimise for SEO, anyway all
    traffic is coming from google anyway
    They actually never ask the
    engineering/product team

    View Slide

  68. @purbon
    You should not worry, even encourage
    it.
    make search another one problem!

    View Slide

  69. @purbon
    Our objective is…

    View Slide

  70. @purbon
    Remember search is esoteric, SEO is
    well understood
    really?

    View Slide

  71. @purbon
    People will most probably find your
    pages from the internet search engine of
    reference.
    but inside your app,….

    View Slide

  72. @purbon
    Sadness and desolation is guaranteed
    Users will feel abandoned, high
    chances they will not come back.

    View Slide

  73. @purbon
    If you are here, you probably have
    completed a few of previous tips very
    well.
    Good Job! only one left!

    View Slide

  74. @purbon
    1

    View Slide

  75. @purbon
    No need to listen to our user

    View Slide

  76. @purbon
    Stage for this tip:
    You have a working search function in
    your app.
    You might be wondering, what are next
    steps to improve it.

    View Slide

  77. @purbon
    If you are having such thoughts now,
    please….

    View Slide

  78. @purbon
    why are you thinking too much?

    View Slide

  79. @purbon
    But if you insist, or are forced to, improve
    your search
    This is a critical tip to sabotage all the
    search efforts
    Never listen to your users

    View Slide

  80. @purbon
    No logs generated from your search
    Remember a common excuse, there is
    never time for that

    View Slide

  81. @purbon
    No user feedback gathered from the UI
    Too hard to get it done!
    You can always play the GDPR card

    View Slide

  82. @purbon
    Remember if you ask your users, they
    might tell you where search is not
    good, and you might be ask to fix it.

    View Slide

  83. @purbon
    There is absolutely no
    need to deal with
    language
    This only apply if you have multi-language content

    View Slide

  84. @purbon

    View Slide

  85. @purbon
    Handling language is hard
    You should only care about English
    why should you bother about the rest…

    View Slide

  86. @purbon
    Stemming is just introducing problems,
    for example:
    Word Stem
    console consol
    consoled consol

    View Slide

  87. @purbon
    Don’t even think about phonetics, or
    other esoteric methods

    View Slide

  88. @purbon
    There is absolutely no
    need to experiment
    This only apply if are really curious to improve

    View Slide

  89. @purbon
    Improvements are thrown to users
    without caring much
    No metric or a/b test is run to check if
    the algorithm has improved
    remember…

    View Slide

  90. @purbon
    No measurements, no
    arguments

    View Slide

  91. @purbon
    Peace and love

    View Slide

  92. @purbon
    Time for cat pictures

    View Slide

  93. @purbon
    Wrap-up

    View Slide

  94. @purbon
    Many options to
    sabotage your project

    View Slide

  95. @purbon
    one with 100%
    success assured

    View Slide

  96. @purbon
    You should not care about
    your users, if you have
    content they will find it!!

    View Slide

  97. Presented sabotage tips
    1. No need to listen to our users
    2. Optimise for SEO
    3. Search does not require UX
    4. Search does not need tests
    5. Silver bullet search
    6. Search is a technical problem
    7. No need to manage search

    View Slide

  98. @purbon
    Thanks a lot! Questions?
    disagreements? threads?
    Pere Urbon-Bayes
    Data Wrangler
    [email protected]{gmail.com, acm.org}

    View Slide