The Search Function Needs Work

I really like ozbargain. And I imagine search is something that could be tricky to get working great. But in the spirit of tough love, can we admit it really needs some work?

I wanted to find Shopback's 12% amazon deal from a couple of days ago. I searched for "shopback amazon 12". The correct result was on the 2nd page, ranked 16th. Above it were plenty of deals from 2019, and worst of all: so many posts that didn't even have the words 'shopback', 'amazon', and '12' in the title, that were somehow rated higher than the post I'm looking for. Examples: "$5 Bonus (Min Spend $5) to Use at Any Store @ ShopBack via App", "[Switch] The Legend of Zelda: Breath of The Wild $49 Delivered @ Amazon AU", "First Choice Liquor: 25% Cashback ($30 Cap, 1pm-5pm AEDT) @ ShopBack", "Kingston A2000 NVMe 1TB $136.64 Delivered at Amazon", "HEYMIX USB-C Hub with HDMI 4K+USB3.0+USBC 87W $12.55 + Delivery ($0 with Prime/ $39 Spend) @ AU Select Amazon AU", "Up to 10% Cashback at Amazon via The Good Guys Concierge Membership Rewards" (a post I've never seen before, with 5 upvotes and 6 downvotes).

This is just one example of the search not working great. But the search has been consistently terrible. It's very difficult to find something, even when you know exactly what you're looking for. I've resorted to using google search and suffixing it with site:ozbargain.com.au, or otherwise just looking to my browsing history and filtering it.

Any chance we can get some improvements?

Some suggestions:

  • (Most important) weigh strongly words found in the title of the post
  • Weight recent posts, at least a bit. If it's a deal from the past ~month, it's more likely I'm looking for it than a deal from two years ago. Of course, sometimes I am looking for a deal from two years ago.
  • Look at upvote count - the more upvoted, the more likely it is that's the deal I care about
  • Look at upvote / downvote ratio - if it has 5 upvotes 6 downvotes, pretty sure I don't care about it (unless my search really accurately matches the title of the post)
  • Bonus: If the item had a price and I remember what it roughly was, provide a way to easily search for it. e.g. allow me to add "$70-$80" as a search term and process that I'm only looking for deals in that price range

Cheers!

Comments

  • The problem is the person between the chair and keyboard…

    Otherwise an ability to search by recognising (rather than exact word match) what a person is looking for is tough work, google invests heaps into do what have been able to do today.

  • What we need is a checkbox "search title only".

    A sliding scale for prices would be good too.

    • option:titleonly
      domain:shopback.com.au

      Append these to your searches to
      restrict search terms to words found in title
      restrict search to a specific store domain

      You will need to memorize these search parameters. They can be found by clicking "Help" on the bottom of Ozbargain pages, then clicking "How to Search". This will give you a cheat sheet of all the search options available.

      https://www.ozbargain.com.au/wiki/help:search

      A sliding scale for prices would be good too.

      This isn't possible because the title itself can contain a variety of prices for different products, plus shipping etc
      e.g ABC Widget $12.34 (Save $45.25), + $10 Shipping @ Storename

      • +3

        What's the rationale behind not providing this in the UI? Economising on pixels?

        • +1

          I personally think this feature is more than deserving of checkbox. In fact, my experience is that on most sites the default is search title only with an option to include the description/content, and I find that gives much more relevant results. For example, this is case on eBay and the checkbox (unchecked by default) is, "Include description".

      • +1

        +1 for checkbox on "title only". That solves 99% of my issues.

        People like me don't remember code because we aren't regularly involved in needing it and there are several languages so I am always forgetting which applies.

        But the checkbox should at least be easy to implement?

      • +1

        With respect, if you're directing someone to a help page on how to search, your search isn't very good. Having advanced options for advanced use cases is great, but in this very simple case, the search should just bring the most obvious result (3 days ago, all words in title, hundreds of upvotes) straight to the top.

  • search shopback click shopback au, scroll down to expired deals. otherwise use google for searches relating to tags, forum topics.

  • weigh strongly words found in the title of the post

    Already done.

    Weight recent posts

    Already the case as well.

    Look at upvote count… Look at upvote / downvote ratio

    As the backend (Sphinx) indexed all the nodes including forum, comps & classifieds, it might not be feasible. Moreover I don't want to assume that people doing the search wants to find the one with the highest votes, rather than better matched content.

    Bonus: If the item had a price

    Price on the deal itself is tricky, especially when you have multiple items, pre/post cashback/discounted gift card/coupon code prices, etc. That makes it difficult to implement.

    I have no doubt that the algorithm needs more tuning and it's something I haven't looked at for years (the internals of ozbargain can get complicated). Currently for sorting, the weight of keyword occurrence is

    title: 40
    post content: 7
    post comment: 1
    

    I guess that needs a bit of tuning as well.

    • Thanks for replying Scotty! It's great to see you've clearly though about this.

      However, as the search results are really quite poor, I'd definitely suggest the weightings need work. To go back to my example, "Samsung Galaxy Note20 256GB 4G $999 Delivered @ Amazon AU" appears 4th, way above the proper result at 16th. The word 'shopback' only appear once on the page… in this comment (!?!). Are the weighting even working? If the comment is weighted 40 times lower than the title, how does this situation occur?

      Moreover I don't want to assume that people doing the search wants to find the one with the highest votes

      Well, I'd suggest this is a very safe assumption. The chance someone wants to find a post with 1 upvote and 3 downvotes is practically zero, because the chance they've seen it (or, if they're trying to find it, care about it), are practically zero. The chance someone wants to find a post with 100 upvotes is way higher. Absolutely understand if there are technical reasons, though.

  • +1

    gotta work for those bargains
    if it was easy, everyone would be doing it
    .

  • Instead of searching by relevance, you should have searched by post date.

  • It's frustrating I had to bookmark and revisit this thread to find option:titleonly again.

Login or Join to leave a comment