Users reported that Discourse search returns partial or semantic matches instead of exact results, even when using advanced parameters like in:messages. emyoulation noted that searching for a unique term like “PlantOfJazz” yielded dozens of irrelevant partial matches and incorrectly included public threads when searching within Private Messages. awesomerobot explained that the system expands to include semantic AI results when few exact matches are found, but acknowledged the UI issue where PM searches returned public results. emyoulation and RGJ argued that the interface should clearly distinguish between exact and semantic results or label the latter as “similar results.” Falco clarified that this auto-expansion is intentional to handle typos, synonyms, and multilingual queries, noting that a CSS class (ai-search-result) allows sites to theme these differently. However, emyoulation and SomeoneElse criticized the behavior as confusing and inconsistent, particularly for site-specific searches where users expect precise results and may not want AI fallbacks. In response to the feedback regarding clarity, awesomerobot confirmed that new messaging has been added to explicitly indicate when semantic AI results are being displayed.
The search is returning dozens of matches rather than exact matches. It is also ignoring limit parameters placed in the Advanced Search.
e.g., there was an interesting Subreddit posting and I wanted to check if that username was already mentioned in postings on our forums.
So I searched for the very unique “PlantOfJazz” and it found dozens of matching threads. But none of those threads had matches for that term using the Browsers Find. Then I went into the Private Messages to do the same search. And it found the same results… that were Public threads, not messages.
I did the same search here in the Meta forum. Again it found dozens. (Some had postings with the word “Plant”. So it seems to be finding partial matches instead of exact matches.)
That is probably a reasonable fallback behavior. But it should report the end of the few (or no) exact matches, and clearly indicating the beginning of semantic AI results.
Odd. That does not happen on our site … nor did it happen in my test here. But of course, the results will no longer have a “no results” for the test case… once this thread works its way into the indexed content.
The “Discobot discoveries” is not something that appears to be active on the site.
Ahh. I see. (Although the Discobot search must be an addon that we don’t have installed?) It is in the search preview here. But the results AFTER pressing Enter do not indicate the division between exact and similar matches… nor simply that “no results” were found.
No. It is in there. But if you search “in:messages” then it switches to “AI” which does not find it. If you search in regular topics then it does find it…
I am sorry to contradict but, No. It is not in our free (for open source projects) site hosting by the Discourse organization. I just re-tested in both the forums and the Private Messaging.
The screen capture I pasted above (that DID have it) was the re-test in the Meta forum.
Yes, we auto expand search when there are zero matches in the full page search, as said above.
What may be confusing everyone is that we started doing that for the header quick search, when there are less than 3 results for a search, but there we do not have any indicator that the extra results come from semantic search, as we’ve found it too small to add any indicators for that.
Our compromise was adding the ai-search-result to each result, so sites can optionally theme those differently or add any indicators they found necessary via our theming capabilities.
Our reasoning is that expand search automatically covers a lot of situations, like searching in another language (our semantic search is multilingual), typos, synonyms, etc
In that case, the search would benefit from an Advanced Search option to not do that. There are times (many times) that you need an exact search in order to eliminate being flooded with false positives.
The way that this is currently implemented is very confusing to the user. if I search this site for the example above, “plantofjazz”, I get this topic at the top (good) and then some other ones below, such as this. If I search one of those others for “plantofjazz” using “in this topic” I get “no results found”, because those other search results were false. That behaviour is at best inconsistent.
I’d suggest that a site-specific search such as the one within Discourse has a fundamentally different job to do than general web search. The job of a general web search is actually to put as many advertisements in my face as I can tolerate, and then then show sites that might somehow relate to my search (typing errors and all). Discourse’s search is different - it’s restricted to one topic, and logged in users are surely much more likely to know what they are searching for for and spell it correctly.
“Discobot discoveries” is similarly out of place, but can at least be disabled.