1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-24 07:42:40 +01:00
phorge-phorge/src/applications
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
..
almanac Separate button CSS classes 2017-06-05 20:14:34 +00:00
aphlict Discard stdout/stderr from the aphlict subprocess when running in daemon (normal) mode 2016-11-13 16:43:42 -08:00
arcanist/conduit
audit Build a page for viewing all inline comments 2017-06-12 11:31:20 -07:00
auth Redirect users back to where they added an SSH Key 2017-08-21 14:02:27 -07:00
badges Spelling fix 2017-04-25 12:19:27 -07:00
base Build a page for viewing all inline comments 2017-06-12 11:31:20 -07:00
cache When "apcu_clear_cache()" exists, prefer it as a cache clear callback over "apc_clear_cache()" 2017-08-21 15:32:44 -07:00
calendar Allow Herald rules to apply "only the first time" to Calendar events 2017-06-12 11:23:05 -07:00
celerity Add a red button to PHUIButtonView 2017-08-06 08:09:40 -07:00
chatlog Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
conduit Update Settings to use full side-navigation 2017-08-04 10:23:01 -07:00
config Fix a possible database ref fatal during MySQL setup checks if a host is unreachable 2017-08-17 11:43:13 -07:00
conpherence Use Log In vs. Login when it's a verb 2017-08-02 12:26:47 -07:00
console Separate button CSS classes 2017-06-05 20:14:34 +00:00
countdown Remove old Countdown route 2017-04-13 13:04:55 -07:00
daemon Separate button CSS classes 2017-06-05 20:14:34 +00:00
dashboard Allow dashboard panels to be found by monogram 2017-06-13 16:48:36 -05:00
differential Add a missing (int) cast to diff IDs for new "transaction.search" method 2017-08-25 07:31:22 -07:00
diffusion Clarify language when Autoclose is disabled for a repository 2017-08-28 12:00:46 -07:00
diviner Fix a constant typo in Diviner ("DECLARATAION" -> "TION") 2017-03-04 09:54:10 -08:00
doorkeeper Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
draft/storage Clean up some log spam caused by races in VersionedDraft 2016-09-05 13:01:53 -07:00
drydock Reduce callsites to "ArcanistDifferentialRevisionStatus" in Phabricator 2017-08-09 11:04:52 -07:00
fact Update Facts for newPage 2016-04-03 15:07:52 -07:00
favorites Add some style to label in Favorites Menu 2017-02-01 07:20:31 -08:00
feed Allow users to query feed by a date range 2017-05-26 12:23:56 -07:00
files Remove bin/files purge workflow 2017-08-10 08:49:06 -07:00
flag Remove counts from home navigation 2017-01-21 13:55:40 -08:00
fund Fix FundRefund transaction calls 2017-05-09 09:59:41 -07:00
guides Make "simple" a "button type", not a "color" 2017-05-30 17:59:37 -07:00
harbormaster Use the correct "completed" time in Harbormaster display UI 2017-06-30 07:11:41 -07:00
help Redesign header menus and search 2017-01-17 12:13:06 -08:00
herald Separate button CSS classes 2017-06-05 20:14:34 +00:00
home Fix italics issue with nux state on homepage 2017-02-25 15:30:17 -08:00
legalpad Properly version Legalpad documents 2017-07-26 09:29:56 -07:00
lipsum Add "--force" and "--quickly" flags to bin/lipsum 2017-02-27 09:09:41 -08:00
macro Add Conduit edit endpoint for Macro 2017-05-10 14:54:43 -07:00
maniphest Build a prototype fulltext engine ("Ferret") using only basic MySQL primitives 2017-08-28 14:52:59 -07:00
meta Move setLaunchButton to setSideColumn for ObjectItem 2017-05-25 15:31:19 -07:00
metamta Queue a worker task to send mail only after committing the mail transaction 2017-06-14 12:27:00 -07:00
multimeter Add a cluster.read-only option 2016-04-09 13:40:47 -07:00
notification Don't prompt to mark notifications as read if we don't need to 2017-08-28 13:05:08 -07:00
nuance Mark "Settings" and "Nuance" as launchable applications 2017-06-01 12:40:25 -07:00
oauthserver Update Settings to use full side-navigation 2017-08-04 10:23:01 -07:00
owners Separate button CSS classes 2017-06-05 20:14:34 +00:00
packages Fixing copy/paste mistake 2017-04-19 15:48:59 -07:00
passphrase Clean up some dialog spacing 2017-08-09 20:04:39 -07:00
paste Fix bad "editPolicy" key in Paste 2017-04-05 13:09:51 -07:00
people Move "wild" config types to new code 2017-06-27 12:34:56 -07:00
phame Fix fatal on logged out Phame Post 2017-08-25 08:47:59 -07:00
phid Add Outline tag type to PHUITagView 2017-05-22 10:16:27 -07:00
phlux Remove empty implementations of describeAutomaticCapabilities() 2016-11-09 15:24:22 -08:00
pholio Fix Pholio new mock feed story 2017-07-19 10:52:59 -07:00
phortune Minor UX tweaks to Phortune autopay 2017-08-10 07:39:18 -07:00
phpast Update phpast for new UI 2016-04-05 13:52:59 -07:00
phragment Remove PhabricatorFile::buildFromFileDataOrHash() 2017-04-04 16:18:00 -07:00
phrequent Allow Phrequent to be used in dashboard panels 2017-03-06 11:00:55 -08:00
phriction Make searching by tags work in Phriction 2017-06-22 11:01:31 -07:00
phurl Change PhabricatorPhurlURLViewController to use EditEngine for commenting 2017-04-17 10:19:21 -07:00
policy Use a less-esoteric spelling of "capabilities" in several places 2017-07-12 15:27:57 -07:00
ponder Use Log In vs. Login when it's a verb 2017-08-02 12:26:47 -07:00
project Add some more builtin project images 2017-07-30 12:29:02 -07:00
releeph Reduce callsites to "ArcanistDifferentialRevisionStatus" in Phabricator 2017-08-09 11:04:52 -07:00
remarkup/conduit
repository Simplify Create Repository page 2017-08-15 11:05:50 -07:00
search Build a prototype fulltext engine ("Ferret") using only basic MySQL primitives 2017-08-28 14:52:59 -07:00
settings Allow more granularity on real-time notifications 2017-08-23 14:45:13 -07:00
slowvote Make a handful of minor Slowvote behaviors more consistent with other applications 2017-05-14 14:01:33 -07:00
spaces Update Spaces for modular transactions 2017-05-04 21:48:13 +00:00
subscriptions Clean up some rough Macro transaction edges 2017-05-08 16:29:35 -07:00
support/application
system When destorying a repository, print a notification about removing the working copy 2017-08-01 08:57:39 -07:00
tokens Prevent awarding/revoking tokens when a task is locked 2017-03-04 09:55:35 -08:00
transactions Provide some more detailed information about inline comments in "transaction.search" 2017-08-24 15:26:50 -07:00
typeahead Drive CLI-based revision edits through "differential.revision.edit" API + EditEngine 2016-12-16 10:08:49 -08:00
uiexample Have text-less dropdown buttons look better 2017-08-24 12:36:56 -07:00
xhprof Allow XHProf profiles to be drag-and-dropped to upload them 2017-02-23 11:16:19 -08:00