1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-24 15:52:41 +01:00
phorge-phorge/src/applications/maniphest
epriestley f97157e7ed Build a prototype fulltext engine ("Ferret") using only basic MySQL primitives
Summary:
Ref T12819. I gave this stuff a sweet code name because all the terms related to "fulltext" and "search" already mean 5 different things. It, uh, ferrets out documents for you?

I'm building this to work a lot like the existing ngram index, which seems to work pretty well. If this sticks, it will auto-resolve the join issue (in T12443) by letting us do the entire thing locally in a JOIN and thus dodge a lot of mess.

This index gets built alongside other indexes, but only shows up in the UI if you have prototypes enabled. If you do, it appears under the existing fulltext field in Maniphest. No existing functionality is affected or disrupted.

NOTE: The query engine half of this is still EXTREMELY primitive, and this probably performs worse than the existing field for now. If this doesn't show obvious signs of being awful on `secure` I'll improve that in followup changes.

Test Plan:
Indexed my tasks, ran some simple queries, got the results I wanted, even for queries "ko", "k", "v0.1".

{F5147746}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T12819, T12443

Differential Revision: https://secure.phabricator.com/D18484
2017-08-28 14:52:59 -07:00
..
__tests__ Use keywords instead of ints to update task priority in ManiphestEditEngine 2017-06-14 14:43:03 -07:00
application Remove counts from home navigation 2017-01-21 13:55:40 -08:00
bulk Use keywords instead of ints to update task priority in ManiphestEditEngine 2017-06-14 14:43:03 -07:00
capability Simplify the implementation of PhabricatorPolicyCapability subclasses 2014-07-25 08:25:42 +10:00
command Use keywords instead of ints to update task priority in ManiphestEditEngine 2017-06-14 14:43:03 -07:00
conduit Use keywords instead of ints to update task priority in ManiphestEditEngine 2017-06-14 14:43:03 -07:00
config Convert Maniphest custom config to new config types 2017-06-27 12:35:29 -07:00
constants Convert Maniphest custom config to new config types 2017-06-27 12:35:29 -07:00
controller Use keywords instead of ints to update task priority in ManiphestEditEngine 2017-06-14 14:43:03 -07:00
edge Expose the commit/task/revision relationship edges to "edge.search" 2017-04-02 19:49:55 -07:00
editor Allow task parents and subtasks to be edited via Conduit API 2017-08-23 14:52:31 -07:00
engineextension New hovercard UI for Maniphest Tasks 2017-04-23 18:58:08 -07:00
export Consistently refer to 'Projects' as 'Tags' 2016-04-19 16:48:21 +00:00
field Fix errors found by PHPStan 2017-02-17 10:10:15 +00:00
herald Use keywords instead of ints to update task priority in ManiphestEditEngine 2017-06-14 14:43:03 -07:00
httpparametertype Make "Create Subtask" work properly in EditEngine 2015-12-08 14:29:58 -08:00
lipsum Use keywords instead of ints to update task priority in ManiphestEditEngine 2017-06-14 14:43:03 -07:00
mail Have Maniphest use create transactions when using email 2017-07-25 13:36:50 -07:00
phid Mark PhabricatorPHIDType::getPHIDTypeApplicationClass() as abstract 2015-11-03 06:47:12 +11:00
policyrule Allow PolicyRules to serve as "Object Policies" 2015-06-13 15:44:38 -07:00
query Build a prototype fulltext engine ("Ferret") using only basic MySQL primitives 2017-08-28 14:52:59 -07:00
relationship Update Maniphest for modular transactions 2017-05-15 10:29:06 -07:00
remarkup Rename PhutilRemarkupRule subclasses 2014-08-05 00:55:43 +10:00
search Build a prototype fulltext engine ("Ferret") using only basic MySQL primitives 2017-08-28 14:52:59 -07:00
storage Build a prototype fulltext engine ("Ferret") using only basic MySQL primitives 2017-08-28 14:52:59 -07:00
typeahead Provide UI hints about task subtypes 2017-05-26 13:58:41 -07:00
view Separate button CSS classes 2017-06-05 20:14:34 +00:00
xaction Improve validation errors for changing task priorities 2017-06-19 14:05:47 -07:00