HomePhorge

Provide an indirection layer between documents and the search engine

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 Aug 7 2011, 3:14 PM
themackabuPushed on Mar 25 2025, 8:07 PM
Parents
rPe35d72f48998: Build a basic calendar view
Branches
Unknown
Tags
Unknown

Event Timeline