HomePhabricator

Provide an indirection layer between documents and the search engine
b8e08f34f7aeUnpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

Provide an indirection layer between documents and the search engine

Summary:
In preparation for adding another search engine (see T355):

  • Rename "executor" to "engine".
  • Move all engine-specific operations into the engine. Specifically, this

means that indexing moves out of the document store and into the engine (it was
sort of silly where it was before).

  • Split choice of an engine into an overridable "selector" class, a base API,

and a concrete MySQL implementation (just like storage engine selection).

  • Make all callers go through the indirection layer.

The default selector just unconditionally selects the MySQL engine, but now
(with D786) I can build an Elastic Search engine and you guys can build a
multi-target engine if you want and I don't get there fast enough.

Test Plan:

  • Created a new document (task).
  • Searched for and found it.
  • Viewed index reconstruction.

Reviewed By: jungejason
Reviewers: jungejason, amckinley, tuomaspelkonen, aran
CC: aran, jungejason, epriestley
Differential Revision: 788

Details

Provenance
epriestleyAuthored on
Reviewer
jungejason
Differential Revision
Restricted Differential Revision
Parents
rPe35d72f48998: Build a basic calendar view
Branches
Unknown
Tags
Unknown

Event Timeline