Make order not matter for page reference or search autocomplete

Use case or problem

Questions are absolutely core to the way that I organize my notes.

I would love to be able to search through my questions by writing [[? some term]]. For example, if I search a question mark, it pulls up this:

And I want to be able to have this work

In general, I don’t want to have to remember the order of words in a page title to find it via autocomplete.

Here’s another example from back in my Roam days (Roam fixed it btw and it makes a huge difference):

If I have a page [[The user believes that their actions in the app lead to goal achievement]] and I searched [[goal achievement user]], it currently won’t pull it up in Obsidian and that feels very wrong.

Proposed solution

Make the order of words that I write not matter for autocomplete!

Current workaround (optional)

Scrolling through the list. This will be exhausting once I have more questions!

Related feature requests (optional)

16 Likes

Workarounds:

  • Write the question mark at the front of the question: ? How to create DSL in Clojure?
  • Use emoji to denote “important questions” to reduce search complexity: :question:, :grey_question:
  • When typing the link, first type the question mark then move one character left and start typing your string. For example, if | represents the cursor then type [[?| then move left [[|? then start the fuzzy search [[diffsrsltmap|? to get the same effect you want

In your case I would just do the latter, and it doesn’t require any complex reprogramming in the app.

I don’t like this. It reduces the overall utility of autocomplete and means I’ll end up with a lot of false negatives where I think “I knew I had a page for that” but it’s not showing up in the results because I can’t remember exactly how I articulated it. The questions example is just one simple example that’s easy to express. Alternatively, it requires me to write page titles in an unnatural way. I’d rather just have Obsidian update this on their end!

1 Like

Here’s another example from back in my Roam days (they fixed it btw):

If I have a page [[The user believes that their actions in the app lead to goal achievement]] and I searched [[goal achievement user]], it currently won’t pull it up in Obsidian and that feels very wrong.

1 Like

Aha now your Roam example I can definitely see as a concern, that is something that I’ve bumped into as well.

Agree on that.

Perhaps the search can function two ways essentially simultaneously:

  • normal lazy left-to-right per-character fuzzy match
  • each time a space is added in the search the previously-entered word is matched regardless of the order in which it occurs in the title

The trick then is figuring out which to weight higher. I would say weight the word match higher so it appears higher up in the list of matches during the search.

Doing this could also open up an extra step adding some additional intelligence to the search, i.e. including synonyms, SOUNDEX searches, etc. To a certain depth anyway, and weighted slightly less the further away the depth gets.

+1 to this issue / feature request

  • I think having a semantic search for notes will go a long way. Ignoring the word ordering is a good start. For instance, when I took a note I called it aws_instance in terraform and now later when I want to reference it somewhere I’m typing terraform aws_instance and nothing is coming up.
  • This leads to cognitive friction - now I’m distracted. wait did I not create a note for this? oh did I say it differently…

Hope you see the concern :grinning_face_with_smiling_eyes: .

1 Like

Please add this. I run into this problem all the time when trying to connect notes together.

Being able to find notes using search phrases out of order would help tremendously. These would be sorted underneath more close matches.

For example, I have a note called “Use simple marketing material”.

Searching for “marketing simple” doesn’t display this note.