Rechercher dans le manuel MySQL

25.39.18 The INFORMATION_SCHEMA INNODB_FT_INDEX_TABLE Table

The INNODB_FT_INDEX_TABLE table provides information about the inverted index used to process text searches against the FULLTEXT index of an InnoDB table.

This table is empty initially. Before querying it, set the value of the innodb_ft_aux_table system variable to the name (including the database name) of the table that contains the FULLTEXT index (for example, test/articles).

For related usage information and examples, see Section 15.14.4, “InnoDB INFORMATION_SCHEMA FULLTEXT Index Tables”.

The INNODB_FT_INDEX_TABLE table has these columns:

  • WORD

    A word extracted from the text of the columns that are part of a FULLTEXT.

  • FIRST_DOC_ID

    The first document ID in which this word appears in the FULLTEXT index.

  • LAST_DOC_ID

    The last document ID in which this word appears in the FULLTEXT index.

  • DOC_COUNT

    The number of rows in which this word appears in the FULLTEXT index. The same word can occur several times within the cache table, once for each combination of DOC_ID and POSITION values.

  • DOC_ID

    The document ID of the row containing the word. This value might reflect the value of an ID column that you defined for the underlying table, or it can be a sequence value generated by InnoDB when the table contains no suitable column.

  • POSITION

    The position of this particular instance of the word within the relevant document identified by the DOC_ID value.

Notes

  • This table is empty initially. Before querying it, set the value of the innodb_ft_aux_table system variable to the name (including the database name) of the table that contains the FULLTEXT index (for example, test/articles). The following example demonstrates how to use the innodb_ft_aux_table system variable to show information about a FULLTEXT index for a specified table. Before information for newly inserted rows appears in INNODB_FT_INDEX_TABLE, the FULLTEXT index cache must be flushed to disk. This is accomplished by running an OPTIMIZE TABLE operation on the indexed table with the innodb_optimize_fulltext_only system variable enabled. (The example disables that variable again at the end because it is intended to be enabled only temporarily.)

    1. mysql> USE test;
    2.  
    3. mysql> CREATE TABLE articles (
    4.          title VARCHAR(200),
    5.          body TEXT,
    6.          FULLTEXT (title,body)
    7.        ) ENGINE=InnoDB;
    8.  
    9. mysql> INSERT INTO articles (title,body) VALUES
    10.        ('MySQL Tutorial','DBMS stands for DataBase ...'),
    11.        ('How To Use MySQL Well','After you went through a ...'),
    12.        ('Optimizing MySQL','In this tutorial we will show ...'),
    13.        ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
    14.        ('MySQL vs. YourSQL','In the following database comparison ...'),
    15.        ('MySQL Security','When configured properly, MySQL ...');
    16.  
    17. mysql> SET GLOBAL innodb_optimize_fulltext_only=ON;
    18.  
    19. mysql> OPTIMIZE TABLE articles;
    20. +---------------+----------+----------+----------+
    21. | Table         | Op       | Msg_type | Msg_text |
    22. +---------------+----------+----------+----------+
    23. | test.articles | optimize | status   | OK       |
    24. +---------------+----------+----------+----------+
    25.  
    26. mysql> SET GLOBAL innodb_ft_aux_table = 'test/articles';
    27.  
    28. mysql> SELECT WORD, DOC_COUNT, DOC_ID, POSITION
    29.        FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE LIMIT 5;
    30. +------------+-----------+--------+----------+
    31. | WORD       | DOC_COUNT | DOC_ID | POSITION |
    32. +------------+-----------+--------+----------+
    33. | 1001       |         1 |      4 |        0 |
    34. | after      |         1 |      2 |       22 |
    35. | comparison |         1 |      5 |       44 |
    36. | configured |         1 |      6 |       20 |
    37. | database   |         2 |      1 |       31 |
    38. +------------+-----------+--------+----------+
    39.  
    40. mysql> SET GLOBAL innodb_optimize_fulltext_only=OFF;
  • You must have the PROCESS privilege to query this table.

  • Use the INFORMATION_SCHEMA COLUMNS table or the SHOW COLUMNS statement to view additional information about the columns of this table, including data types and default values.

  • For more information about InnoDB FULLTEXT search, see Section 15.6.2.4, “InnoDB FULLTEXT Indexes”, and Section 12.9, “Full-Text Search Functions”.


Find a PHP function

Document created the 26/06/2006, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/mysql-rf-innodb-ft-index-table-table.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

References

  1. View the html document Language of the document:en Manuel MySQL : https://dev.mysql.com/

These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.

Contents Haut