Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-14811

Optionally process full-text queries with InnoDB FTS

    Details

    • Type: Improvement
    • Status: Done/Fixed
    • Priority: Minor
    • Resolution: Fixed/Completed
    • Affects Version/s: 4.5
    • Fix Version/s: 4.5
    • Component/s: CiviCRM Search
    • Labels:
      None

      Description

      (See also: http://wiki.civicrm.org/confluence/display/CRM/Full+Text+Search )

      1. Implement a class, CRM_Core_InnoDBIndexer, which can:

      1a. Add FTS indices to specific list of tables/columns

      1b. Drop all FTS indices

      1c. Reindex (ie drop + recreate all indices)

      2. Add a setting, "enable_innodb_fts". Changes to the setting should trigger InnoDBIndexer.

      3. Expose the setting in the admin UI.

      4. Update the FullText search classes:

      4a. When "enable_innodb_fts" is false, use the same queries we currently use. The basic conditional in each query should be "col1 LIKE '%query%' OR col2 LIKE '%query%'"

      4b. When "enable_innodb_fts" is true, use the same overall query structure, but change basic conditional to "MATCH(col1,col2) AGAINST ('query')"

      5. When upgrading, display warnings if "enable_innodb_fts" is active. Sysadmins may need to reindex.

        Attachments

          Activity

            People

            • Assignee:
              lcdweb Brian Shaughnessy
              Reporter:
              timotten Tim Otten
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: