Improve results/relevance

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Improve results/relevance

Jayadevan Maymala
Hi all,

We have a catalogue of many products, including smart phones.  We use
*edismax* query parser. If someone types in iPhone 11, we are getting the
correct results. But iPhone 11 Pro is coming before iPhone 11. What options
can be used to improve this?

Regards,
Jayadevan
Reply | Threaded
Open this post in threaded view
|

Re: Improve results/relevance

Charlie Hull-3
Hi,

A few strategies you can use:

1. First you need to know why the result has matched. Solr provides
detailed debug info but it's not easy to interpret. Consider using
something like www.splainer.io to give you better visibility
(disclaimer: this is something we maintain, there are other alternatives
including a cool Chrome plugin). You can now see where scores are being
calculated.

2. Next you should read up on how Lucene/Solr edismax scoring works -
remember it's a 'winner takes all' strategy. Here's a great blog by Doug
on this
https://opensourceconnections.com/blog/2013/07/02/getting-dissed-by-dismax-why-your-incorrect-assumptions-about-dismax-are-hurting-search-relevancy/ 
. Now you should know why your results are being ordered as they are.

3. You've now got lots of options: you should set up some tests (perhaps
use Quepid? www.quepid.com disclaimer: yes that's us too :) to monitor
what happens as you try each and to check for side-effects. You could
boost exact phrase matches - here's one way to do this
http://everydaydeveloper.blogspot.com/2012/02/solr-improve-relevancy-by-boosting.html 
or you could use Querqy which gives you much more flexibility
https://querqy.org/ (check out SMUI too as this is a great way to manage
Querqy rules).

4. What you're doing is active search tuning for ecommerce, and this
won't be the first example you'll come across. You should also implement
a system for tracking these kinds of issues, what you do to fix them and
the tests carried out: it's analogous to a bug tracker and something we
call a 'Relevancy Register'. Otherwise you'll end up with a huge pile of
hacks and will swiftly forget why they were implemented and what problem
they were trying to solve!

5. We're running a blog series about ecommerce search which you might
want to follow:
https://opensourceconnections.com/blog/2020/07/07/meet-pete-the-e-commerce-search-product-manager/

HTH

Charlie

On 17/10/2020 04:51, Jayadevan Maymala wrote:

> Hi all,
>
> We have a catalogue of many products, including smart phones.  We use
> *edismax* query parser. If someone types in iPhone 11, we are getting the
> correct results. But iPhone 11 Pro is coming before iPhone 11. What options
> can be used to improve this?
>
> Regards,
> Jayadevan
>

--
Charlie Hull
OpenSource Connections, previously Flax

tel/fax: +44 (0)8700 118334
mobile:  +44 (0)7767 825828
web: www.o19s.com

Reply | Threaded
Open this post in threaded view
|

Re: Improve results/relevance

Konstantinos Koukouvis
In reply to this post by Jayadevan Maymala
Hi Jayadevan,

There are a couple of ways to achieve the result you want! Two things you could do from the top of my head are: You could sort the results based on some field, or boost some fields so that they get a higher score.

> On 17 Oct 2020, at 05:51, Jayadevan Maymala <[hidden email]> wrote:
>
> Hi all,
>
> We have a catalogue of many products, including smart phones.  We use
> *edismax* query parser. If someone types in iPhone 11, we are getting the
> correct results. But iPhone 11 Pro is coming before iPhone 11. What options
> can be used to improve this?
>
> Regards,
> Jayadevan

==================================================
Konstantinos Koukouvis
[hidden email]

Using Golang and Solr? Try this: https://github.com/mecenat/solr