November Happy Hour will be moved to Thursday December 5th.

DidYouMean - filter out hits on position?

Vote:
 

Hi,

I'm trying to find out if it's possible to get hits from DidYouMean depending on which position the hits where in the search result.

As an example:

  1. A user searches for "fsh" and get no/few results. No click in the result list.
  2. After that the user searches for "fish" and get a result list of 1000 items. The user clicks on an item in the list in position 8.
  3. Another user searches for "fsh" and when we call searchInstance.Statistics().DidYouMean we would like to filter out so "fish" will be returned if previous users clicked on an item that was in the top 10 result.

Is this possible? Or are these conditions the ones you must relate to:

  • The queries should occur within 60 seconds of each other.
  • After the first query was submitted, there was no click in the results list. 
  • The queries are not identical.
  • All terms in the second query occur in at least one indexed document.

When tracking the clicks we do set a position:

 command.Hit.Position = position;

But I can't find a way to use that information in DidYouMean.

#277185
Mar 25, 2022 8:56
Vote:
 

I don't think it's possible with the out-of-the-box functionality. The request to the index is really simple, and doesn't allow for that kind of granularity:

/_didyoumean?query={query}&size={size}&hits_cutoff={hits_cutoff}&tags={tags}

You could, I suppose, suppress the click tracking where it doesn't meet the requirements you specified (e.g. the position > 10) but that's obviously not ideal.

#277603
Apr 01, 2022 12:06
Vote:
 

I was afraid of that "that" was the case. :(

#277885
Apr 06, 2022 14:22
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.