0

I have a simple keyword search, I would like for items with a match in the title to come up at the top of results. From reading other posts, it sounds like sorting by relevance is the default behavior for the results tag. I have my title weighted at 3 and all other searchable fields weighted at 1 and am not getting this result. I've upped the modifier, but haven't seen any effect. I'm looking for ways to troubleshoot this.

1 Answer 1

2

MySQL's Fulltext relevance calculation is a bit of a black box. I've tried to find out exactly how it calculates it when I built the add-on, but couldn't find anything useful. Instead, I found out through trial and error, you can influence the score calculation by repeating text in the same field, which is what the weighting does in Low Search.

So, whilst weighting fields in LS will influence MySQL's relevance scoring of a search result, I have no control over what an actual person might find more relevant.

That said, take a look at the keywords:match parameter:

If a valid field (native or custom) is given, entries where that field exactly matches the keywords given will be pushed to the top of the search results, regardless of score.

That won't apply to partial matches, but could help you nonetheless.

1
  • Thank you. This is very helpful - I thought I must be missing something obvious, so at least I can stop spinning my wheels. I added keywords:match for good measure, though it's not helping for the particular cases I'm testing. We'll have to get creative. Oct 27, 2015 at 17:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.