Rechercher dans le manuel MySQL
12.9 Full-Text Search Functions
[+/-]
- 12.9.1 Natural Language Full-Text Searches
- 12.9.2 Boolean Full-Text Searches
- 12.9.3 Full-Text Searches with Query Expansion
- 12.9.4 Full-Text Stopwords
- 12.9.5 Full-Text Restrictions
- 12.9.6 Fine-Tuning MySQL Full-Text Search
- 12.9.7 Adding a Collation for Full-Text Indexing
- 12.9.8 ngram Full-Text Parser
- 12.9.9 MeCab Full-Text Parser Plugin
MATCH
(
col1
,col2
,...)
AGAINST (expr
[search_modifier
])
- search_modifier:
- {
- | WITH QUERY EXPANSION
- }
MySQL has support for full-text indexing and searching:
A full-text index in MySQL is an index of type
FULLTEXT
.Full-text indexes can be used only with
InnoDB
orMyISAM
tables, and can be created only forCHAR
,VARCHAR
, orTEXT
columns.MySQL
provides a built-in full-text ngram parser that supports Chinese, Japanese, and Korean (CJK), and an installable MeCab full-text parser plugin for Japanese. Parsing differences are outlined in Section 12.9.8, “ngram Full-Text Parser”, and Section 12.9.9, “MeCab Full-Text Parser Plugin”.A
FULLTEXT
index definition can be given in theCREATE TABLE
statement when a table is created, or added later usingALTER TABLE
orCREATE INDEX
.For large data sets, it is much faster to load your data into a table that has no
FULLTEXT
index and then create the index after that, than to load data into a table that has an existingFULLTEXT
index.
Full-text searching is performed using
MATCH() ... AGAINST
syntax.
MATCH()
takes a comma-separated
list that names the columns to be searched.
AGAINST
takes a string to search for, and an
optional modifier that indicates what type of search to perform.
The search string must be a string value that is constant during
query evaluation. This rules out, for example, a table column
because that can differ for each row.
There are three types of full-text searches:
A natural language search interprets the search string as a phrase in natural human language (a phrase in free text). There are no special operators, with the exception of double quote (") characters. The stopword list applies. For more information about stopword lists, see Section 12.9.4, “Full-Text Stopwords”.
Full-text searches are natural language searches if the
IN NATURAL LANGUAGE MODE
modifier is given or if no modifier is given. For more information, see Section 12.9.1, “Natural Language Full-Text Searches”.A boolean search interprets the search string using the rules of a special query language. The string contains the words to search for. It can also contain operators that specify requirements such that a word must be present or absent in matching rows, or that it should be weighted higher or lower than usual. Certain common words (stopwords) are omitted from the search index and do not match if present in the search string. The
IN BOOLEAN MODE
modifier specifies a boolean search. For more information, see Section 12.9.2, “Boolean Full-Text Searches”.A query expansion search is a modification of a natural language search. The search string is used to perform a natural language search. Then words from the most relevant rows returned by the search are added to the search string and the search is done again. The query returns the rows from the second search. The
IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION
orWITH QUERY EXPANSION
modifier specifies a query expansion search. For more information, see Section 12.9.3, “Full-Text Searches with Query Expansion”.
For information about FULLTEXT
query
performance, see Section 8.3.5, “Column Indexes”.
For more information about InnoDB
FULLTEXT
indexes, see
Section 15.6.2.4, “InnoDB FULLTEXT Indexes”.
Constraints on full-text searching are listed in Section 12.9.5, “Full-Text Restrictions”.
The myisam_ftdump utility dumps the contents of
a MyISAM
full-text index. This may be helpful
for debugging full-text queries. See
Section 4.6.3, “myisam_ftdump — Display Full-Text Index information”.
Traduction non disponible
Le manuel MySQL n'est pas encore traduit en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Document créé le 26/06/2006, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/mysql-rf-fulltext-search.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.