Full text search

From Rixort Wiki
Revision as of 10:01, 6 January 2022 by Paul (Sọ̀rọ̀ | contribs) (→‎PostgreSQL)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Full text searching in web applications means searching documents which have content and some metadata (usually at least a title). Examples include:

  • Blog posts
  • RSS feed items

Full text searching eliminates stop words (e.g. 'and', 'the') and manages word stemming (e.g. 'jump' matches 'jump', 'jumping', 'jumped'). However it does not manage misspellings or 'nearby' words (e.g. 'jmup' will not match 'jump') - for that fuzzy matching is needed. It is possible to do full text searching with fuzzy matching, however this is not always supported 'out of the box'.

MySQL

MySQL and MariaDB have the MATCH operator, which can perform basic full text searches.

Although older versions of MySQL only supported full text indexes on MyISAM tables, this is no longer the case and InnoDB tables can (and should!) be used.

PostgreSQL

Apache Solr