Full text search: Difference between revisions
No edit summary |
|||
Line 16: | Line 16: | ||
* [https://leandronsp.com/a-powerful-full-text-search-in-postgresql-in-less-than-20-lines A powerful full-text search in PostgreSQL in less than 20 lines] | * [https://leandronsp.com/a-powerful-full-text-search-in-postgresql-in-less-than-20-lines A powerful full-text search in PostgreSQL in less than 20 lines] | ||
* [https://compose.com/articles/mastering-postgresql-tools-full-text-search-and-phrase-search/ Mastering PostgreSQL Tools: Full-Text Search and Phrase Search] | |||
== Apache Solr == | == Apache Solr == |
Latest revision as of 10:01, 6 January 2022
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
- A powerful full-text search in PostgreSQL in less than 20 lines
- Mastering PostgreSQL Tools: Full-Text Search and Phrase Search