Heim > Datenbank > MySQL-Tutorial > So verwenden Sie die Volltextsuchfunktion von mysql5.7.25

So verwenden Sie die Volltextsuchfunktion von mysql5.7.25

王林
Freigeben: 2023-05-28 17:34:06
nach vorne
1639 Leute haben es durchsucht

Vorwort

Manchmal muss die Volltextsuchfunktion im Projekt verwendet werden. Wenn die Anzahl der Volltextsuchen relativ gering ist und Sie kein separates dediziertes Indexierungstool wie Elasticsearch erstellen möchten, können Sie dies in Betracht ziehen Die Volltextsuchfunktion, die mit MySQL geliefert wird.

MySQL 5.7.25 verfügt über eine Volltextsuchfunktion, was sehr praktisch ist.

Vor MySQL 5.7.6 unterstützte der Volltextindex nur den englischen Volltextindex und nicht den chinesischen Volltextindex. Es war notwendig, einen Wortsegmentierer zu verwenden, um die chinesischen Absätze vorzuverarbeiten und sie dann in Wörter aufzuteilen Speichern Sie sie in der Datenbank.

Ab MySQL 5.7.6 verfügt MySQL über einen integrierten Ngram-Volltextparser zur Unterstützung der chinesischen, japanischen und koreanischen Wortsegmentierung.

Die in diesem Artikel verwendete MySQL-Version ist 5.7.25, InnoDB-Datenbank-Engine.

1. Erstellen Sie eine Tabelle mit Volltextindex

CREATE TABLE `tbl_article_content` (
  `id` bigint(40) NOT NULL AUTO_INCREMENT,
  `article_title` varchar(60) COMMENT '标题',
  `article_summary` varchar(120) COMMENT '摘要',
  `article_content` text NOT NULL COMMENT '内容',
  `article_id` bigint(40) NOT NULL COMMENT '对应文章ID',
  `create_date` datetime NOT NULL COMMENT '创建时间',
  `modified_date` datetime NOT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `artid` (`article_id`) USING BTREE,
  FULLTEXT KEY `article_content` (`article_content`) /*!50100 WITH PARSER `ngram` */ 
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
Nach dem Login kopieren

/*!50100 */ Es bedeutet Version 5.01.00, nur ausgeführt

MIT PARSER „ngram“ ist die vorgesehene Wortsegmentierungs-Engine.

2. Volltextindex hinzufügen

Wenn der Volltextindex beim Erstellen der Tabelle nicht hinzugefügt wird, können Sie ihn nach dem Erstellen der Tabelle hinzufügen.

create fulltext index article_content on tbl_article_content(article_content) WITH PARSER ngram;
Nach dem Login kopieren

3. Testdaten hinzufügen

INSERT INTO `tbl_article_content` VALUES ('2', '文章标题', '文章摘要', '文章内容', '2', '2022-02-05 13:47:55', '2022-02-05 13:47:59');
Nach dem Login kopieren

4. Abfrage ausführen

mysql> select * FROM tbl_article_content222 WHERE MATCH(article_content) AGAINST('内容');
+----+---------------+-----------------+-----------------+------------+---------------------+---------------------+
| id | article_title | article_summary | article_content | article_id | create_date         | modified_date       |
+----+---------------+-----------------+-----------------+------------+---------------------+---------------------+
|  2 | 文章标题      | 文章摘要        | 文章内容        |          2 | 2022-02-05 13:47:55 | 2022-02-05 13:47:59 |
+----+---------------+-----------------+-----------------+------------+---------------------+---------------------+
1 row in set
Nach dem Login kopieren

Die Schlüsselwörter für die Volltextabfrage sind MATCH und AGAINST.

5. Grammatik ;

Das heißt: MATCH entspricht der Spalte, die abgeglichen werden soll, und AGAINST ist der zu findende Inhalt.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Volltextsuchfunktion von mysql5.7.25. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage