Index spécialisé pour recherche textuelle (mots-clés, stemming, ranking).
Full-Text Index est un type d'index spécialisé pour recherche textuelle dans des champs de texte longs (description produits, articles, posts, documents). Permet recherche par mots-clés avec stemming (radicaux), stop words removal, ranking de pertinence — capabilities impossibles avec B-Tree LIKE classique.
Supports DBMS :
(1) **PostgreSQL** : ts_vector type + GIN/GiST indexes. `to_tsvector('english', text)` produces searchable representation. Queries via `@@` operator + `to_tsquery`. Plus `pg_trgm` extension pour fuzzy/similarity matching. Multi-language support natif.
(2) **MySQL InnoDB** : `FULLTEXT INDEX` natif depuis 5.6 ; MyISAM avant. Boolean mode, natural language mode, query expansion.
(3) **SQL Server** : Full-Text Search service intégré.
(4) **Oracle** : Oracle Text.
(5) **MongoDB** : text indexes natifs ; ou Atlas Search (Lucene-based).
Dedicated full-text search engines (souvent meilleurs que DB built-in) :
(1) **Elasticsearch** / **OpenSearch** — Lucene-based, scaling distributed, faceting, aggregations, geo-search.
(2) **Apache Solr** — Lucene-based, mature, used by archive.org, Netflix.
(3) **Typesense** — typo tolerance, instant search.
(4) **Meilisearch** — fast, developer-friendly.
(5) **Algolia** — SaaS, very fast.
(6) **Manticore Search** (Sphinx fork).
Features typiques :
(1) **Stemming** — recherche "running" trouve aussi "runs", "ran".
(2) **Stop words** — ignore "the", "a", "is" (no signal).
(3) **Synonyms** — search "car" finds "automobile".
(4) **Relevance ranking** (BM25, TF-IDF) — best matches first.
(5) **Phrase queries** — "exact phrase".
(6) **Boolean operators** — AND, OR, NOT.
(7) **Fuzzy matching** — typos tolerance.
(8) **Highlighting** — show matched text snippets.
(9) **Faceting** — aggregate counts par categories.
(10) **Multi-language**.
Quand DB full-text suffit vs dedicated engine : (1) DB suffices : small data (<10M docs), simple search, low traffic. (2) Dedicated needed : large data, advanced features, dedicated team, performance critical. Souvent combo : DB primary + Elasticsearch sync via CDC ou Debezium. Compétences DEA-C01, DP-300.
200+ certifications, 400 000+ questions, examens blancs chronométrés.
Voir le catalogue →