Page MenuHomePhabricator

Default search boolean logic is mildly inconvenient and not configurable in Amazon RDS
Closed, ResolvedPublic

Description

Although some may argue this is a feature request, I argue it is a bug report because the result is that multi-word search does not work for normal users when Phabricator is hosted on RDS.

For all intents and purposes, search on Phabricator when hosted on RDS is not useful. Per conversation in T10589, by default, MySQL uses "OR", but this makes the search experience terrible for normal users. Phabricator raises a setup check to fix this, but the solution advised, to change the "ft_boolean_syntax" variable, is not possible on Amazon RDS because it requires super privileges.

I understand users can use the +x / +y syntax as an alternative to not being able to edit ft_boolean_syntax, and we will tell everyone on our team and hope they remember. That said, I'm sure you would agree that this is not discoverable. As you can imagine Amazon RDS is very popular (possibly the most popular hosted database service), so it would be amazing if you had a solution that worked on RDS that didn't require us to try to educate our company to use "+" in every word in a query. I don't know if a reasonable solution here is feasible, but that's what I'd recommend considering exploring.

Event Timeline

epriestley renamed this task from Search experience is not useable on Amazon RDS to Default search boolean logic is mildly inconvenient and not configurable in Amazon RDS.Mar 22 2016, 1:11 AM
epriestley triaged this task as Wishlist priority.

We can resolve this by parsing the query and rewriting the query we submit to the engine as "+x +y" if ft_boolean_syntax has not been adjusted.

This is blocked on T6740, which is a similar parsing task of much greater value.

We haven't seen this request from other installs and don't consider it valuable. It is complex and we are very unlikely to pursue it naturally.

Other approaches:

  • Don't use RDS.
  • Ask Amazon to make this option configurable.

Elasticsearch may also be a solution. Also, looks like we might be able to detect RDS installs by querying variables in MySQL.

Amazon RDS is incredibly popular so although you haven't seen this request from other installs, my guess is that many are like we have been for the past 1.5 years - just convinced that Phab search didn't work and feeling powerless over it...I understand the squeaky wheel tends to get the oil, but it's worth maybe considering what % of installs use RDS since all of them will have this problem.

just convinced that Phab search didn't work and feeling powerless over it

Administrators receive a setup warning specifically telling them that ft_boolean_syntax is not configured correctly with an explicit description of the consequences that this configuration has:

"Your MySQL instance is configured to use the default Boolean ".
"search syntax when using fulltext indexes. This means searching ".
"for 'search words' will yield the query 'search OR words' ".
"instead of the desired 'search AND words'."

We've raised this setup check since Dec 22, 2015.


I understand the squeaky wheel tends to get the oil

We try hard not to prioritized based on who complains the loudest. Users almost universally self-report their own issues as very important, and suggest we prioritize them over other issues.

If this or other problems are materially valuable to you, you can pay us to prioritize them (see Paid Prioritization). We expect this to be an attractive option for cases where a solving a problem will really provide value, and unattractive in cases where a problem is a minor annoyance but not really important.

@epriestley I understand you have the setup check - my point is that for RDS users we skip this check when we see we can't do anything about it. And then months later it's forgotten about and we still draw that conclusion.

Noted on paid prioritization. We won't have budget for it, unfortunately...