Page MenuHomePhabricator

Search should accept AND keyword
Closed, WontfixPublic

Description

We are using MySQL at phabricator.wikimedia.org. Currently the search is set to OR by default (we will change that, see the discussion at https://phabricator.wikimedia.org/T89274). I expected the search engine to accept AND as operator to change the default behaviour, but it doesn't accept that. I can't tell you how to "fix" that but to me it felt like a bug in the user interface that should be fixed in the base code that powers the search.

Event Timeline

thiemowmde raised the priority of this task from to Needs Triage.
thiemowmde updated the task description. (Show Details)
thiemowmde added a project: Search.
thiemowmde added a subscriber: thiemowmde.

Can you give me an example of an "OR" query you'd like to run? What problem do you hope to solve by using OR queries?

What I actually wanted to use is AND.

I can come up with millions of examples for an OR query. Not sure how this is helpful for you.

epriestley claimed this task.

When configured according to the setup instructions, AND is the default. It looks like your install's administrators are planning to update the configuration.

It sounds like your need for OR isn't driven by a concrete problem. We prefer to drive features by solving concrete (vs theoretical) problems, because we can often find simpler or better solutions to real problems than hypothetical ones. See:

https://secure.phabricator.com/book/phabcontrib/article/feature_requests/#describe-problems

thiemowmde renamed this task from Search should accept AND and OR keywords to Search should accept AND keyword.Feb 16 2015, 4:33 PM
thiemowmde reopened this task as Open.
thiemowmde removed epriestley as the assignee of this task.
thiemowmde updated the task description. (Show Details)
thiemowmde removed a subscriber: epriestley.

I'm sorry?

  • No hint of how to solve the actual problem other than "according to the instructions". Basically a RTFM. Not helpful.
  • Ignoring the fact that I'm describing an actual problem and calling it "hypothetical". What the heck?
  • Ignoring the fact that I'm not asking for an OR operator but for an AND operator.

Probably the first and last time I'm reporting something here.

epriestley claimed this task.

When properly configured, all searches are AND searches, and "and" is a stopword so "x AND y" will have the same effect as "x y" and search for both terms. Phabricator raises setup warnings to help you configure it properly. If your install is not configured properly, you should pursue this with your administrators.

If you don't understand something, please ask a question. Please do not reopen tasks I've closed, remove me from the subscriber list, etc. I am all-seeing. Nothing escapes my gaze.

No hint of how to solve the actual problem other than "according to the instructions". Basically a RTFM. Not helpful.

Administrators receive explicit, detailed instructions. A global banner visible on every page warns them that this is not configured, and clicking it provides context and instructions. There are screenshots of the instructions they receive on the task you linked. Here they are reproduced:

Screen_Shot_2015-02-11_at_12.40.05_PM.png (722×762 px, 124 KB)

Screen_Shot_2015-02-11_at_12.38.50_PM.png (539×759 px, 91 KB)

Ignoring the fact that I'm describing an actual problem and calling it "hypothetical". What the heck?

You haven't described an actual problem.

Administrators receive explicit, detailed instructions.

I'm not an administrator. I'm a user. I expect an upper-case AND to do an AND, not to be ignored. This is at least a missing feature. If a Phabricator installation is set up to do an OR search by default I, as a user, have no way of doing an AND search because of this missing feature. I'm reporting this missing feature here. For what reason is this closed as WONTFIX? Within two hours with nobody else having a chance to contribute!

You haven't described an actual problem.

Wow, this is getting personal really, really fast. I want to do an AND search in an environment that's set up to do OR by default. That's a actual problem. What information are you missing? If you don't understand an issue, please ask questions. If you are offended by reported issues and people reporting them, please step away from the computer, look for something that's more fun to you and let other people jump in. If RTFM and WONTFIX is all you have to say, you are not helpful here.

Look, what epriestley is saying is that as long as Phabricator is configured according to its setup instructions it uses AND by default.

If it is not configured according to the setup instructions there is nothing that can be done.

There is nothing to fix here, as for where he says "hypothetical" he is talking about implementing OR. Unless there is a concrete use-case for implementing OR it won't be considered.

there is nothing that can be done.

Why? What does that mean? What's the problem? How is it possible that it's impossible to implement a feature? Is this closed source or what?

Phabricator uses MYSQL's fulltext search features, if MYSQL is not configured in a way that supports AND searches, then what can Phabricator do (besides write an entire MYSQL fulltext engine in PHP)?

What can be done, is that the documentation can be made clearer stating that unless that option is configured, that searches will be OR.

chad added a subscriber: chad.

We strongly need features requests to solve real problems, we don't spend time on features or tasks that only exist in a theoretical space.

Phabricator includes support for MySQL fulltext and ElasticSearch. It's up to individual installs to choose what's most important to them for search results. If those choices aren't enough, you may feel free to fork or patch your local install. The features you're suggesting are not of interest to pursue in the upstream.

Please don't re-open this task, that is for the upstream to determine. Discussion can easily continue with the task being closed.

I'm not reporting a documentation issue here. I'm asking for the possibility to do an AND search even if an installation is set up to do OR by default (which is even mentioned as a possibility in the screenshots above). I was told MySQL supports +. So the only thing you need to implement is a replacement of AND with +. That's not "an entire fulltext engine". Why do you say that?

I would understand if you lower the relevance of this feature-request down to "we will not spend paid developers time on this for the moment". But closing such reports with RTFM and WONTFIX with no further reason given is just arrogant.

that only exist in a theoretical space.

I'm not living in a theoretical space. What makes you think calling an actual problem "theoretical" makes it go away?

The features you're suggesting are not of interest

So you don't even want a volunteer to work on that? Is there an other issue tracker for that?

I think you're coming from an environment which is very different from this one, and have a lot of expectations about how projects work that aren't true for this project. In particular, although this project is open source, it is not run by the community. You can find more information here:

https://secure.phabricator.com/book/phabcontrib/article/feature_requests/#understanding-the-upstre

Specifically, this passage explains that this is not a community-run project:

The Phabricator upstream is Phacility, Inc. We maintain total control over the project and roadmap. There is no democratic process, voting, or community-driven decision making. This model is better at some things and worse at others than a more community-focused model would be, but it is the model we operate under.

We also believe that the majority of the cost of a patch is in maintaining it, not developing it. Features like this are not blocked by finding someone to write them: we believe that is a tiny fraction of the total cost of a feature. This is explained here:

https://secure.phabricator.com/book/phabcontrib/article/contributing_code/#rejecting-patches

Specifically, this passage explains that we believe maintenance costs dominate patch costs:

We support code in the upstream forever. Support is enormously expensive and takes up a huge amount of our time. The cost to support a change over its lifetime is often 10x or 100x or 1000x greater than the cost to write the first version of it. Many uncoordinated patches we receive are "white elephants", which would cost much more to maintain than the value they provide.

As an author, it may look like you're giving us free work and we're rejecting it as too expensive, but this viewpoint doesn't align with the reality of a large project which is actively supported by a small, experienced team. Writing code is cheap; maintaining it is expensive.

Obviously, you may not be happy about how we manage the project, and you might reasonably believe that a community-managed version of this software would be better. If you'd like a community-run version of Phabricator, you're welcome to fork it.