Page MenuHomePhabricator

In Phabricator's global search, tasks in a project's milestone are not found when searching in the parent project
Open, LowPublic

Description

when a task is moved from e.g. Wikipedia-Android-App-Backlog to Wikipedia-Android-App-Backlog (Android-app-release-v2.7.24x-H-Hot-pepper) it no longer appears in searches for the parent tag.

how can I search across all Android related phab tasks without enumerating a very very long list of tags?

Event Timeline

Aklapper changed the task status from Open to Stalled.Mar 21 2018, 9:07 PM

The first is a project, the second is a milestone of that project. https://www.mediawiki.org/wiki/Phabricator/Project_management#Parent_Projects,_Subprojects_and_Milestones states that it is included when searching for parent.

Cannot confirm. Please provide a specific test case and include links.

jeremyb changed the task status from Stalled to Open.Mar 21 2018, 9:14 PM

hrmmm, ok, works for maniphest search but not global search?

https://phabricator.wikimedia.org/search/query/P2VUrKRgr0mn/

Aklapper renamed this task from should be possible to do a search across all android phab tasks (or iOS or mobilefrontend, etc.) to In Phabricator's global search, tasks in a project's milestone are not found when searching in the parent project.Mar 21 2018, 9:17 PM

removing Android folks in case they don't want the spam

epriestley subscribed.

I think this is largely similar to T224082: the Elastic engine does not resolve the "Tags" query constraint in the same way that the builtin (approximately, Ferret) engine does, so searching for "Project X" in Maniphest means "Project X, or any child of project X" under the Ferret engine, but means "Project X exactly" in global search under the Elastic engine.

Disabling ElasticSearch is likely to fix this, but see T224082 for more context.

From my perspective, the ideal path forward is that you try disabling Elastic search and maybe everything just works better on Ferret and we don't have to deal with this. If that isn't actually the case, we could look at implementing the constraint more consistently in Elastic.

Is there a way to keep elasticsearch enabled for the global search results but use ferret for all the other search contexts? I think elastic really does a good job in the context of https://phabricator.wikimedia.org/search/query but maybe not so much elsewhere.

That's already how things are working right now -- this task ("Tags" working differently in Maniphest vs Global search) and T224082 (query term "X\Y" working differently in Maniphest vs Global search) are both because the Ferret and Elastic engines are doing different things.

In both of these cases, I think the Elastic behavior is worse, but it's definitely possible that the Elastic behavior is better in other cases and that disabling it would be a net negative.

(To throw another one on the pile, T168061 is also closely related, I think. I'll add some details there shortly, none of these are exactly copies of the others even though there's some overlap and a lot of commonality in the root causes.)

Aklapper triaged this task as Low priority.May 30 2021, 9:34 AM