Exact name matches should be on top of search results

I often find myself searching for an exact note name only to find that it’s buried by other notes which only contain the search word somewhere in the text. I propose the following order of search results given that a note with name “Birthday List” exists:

  1. Exact matches of a note name (search term: “Birthday List”)
  2. Point 1 but case insensitive (search term: “birthday list”)
  3. Partial matches of a note name (search term: “Birthday” or “List”)
  4. Point 3 but case insensitive (search term: “birthday” or “list”)
  5. Other matches

Again, my main point is that exact matches (preferably case insensitive) on note names should be on top of the search result, the points given just take the idea a bit further. Let me know what you think.

Greetings
Bastian

Hi Bastian,

Thank you for the suggestion.
Inkdrop’s ranking algorithm in the full-text search relies on SQLite’s FTS5, which is based on TF-IDF and is hard to modify in terms of implementation.
So, I’m afraid that it is not possible to improve like you’d expect.

Would it be possible to at least prioritize exact matches by manually adjusting the result of the FTS5? Or would this be too slow?

I don’t feel like adding an additional custom sort algorithm on JS-side as it would be complicated and make it slower.