MySQL フルテキスト検索の中国語ソリューションとサンプルコード

MySQL フルテキスト検索の中国語ソリューションとサンプルコード

MySQL 全文検索中国語ソリューション

    最近、会社のプロジェクトで、データベースで中国語を検索する機能が必要になりました。これは非常に難しいです。インターネットで情報を検索したところ、同様の記事を見つけました。ここに記録して、皆さんのお役に立てれば幸いです。

コード例:

<?php
/*
MySQL全文検索中国語ソリューション!
*/
エラー報告(E_ERROR | E_WARNING | E_PARSE);
ini_set('display_errors', '1');
//データベースサポートクラス SaeMysql{
//phpmysql 操作クラス}
$DBS = 新しい SaeMysql;
// データを追加して echo '2' を返します。
/*データテーブルを作成する*/
$DBS->runSql('テーブルが存在しない場合は作成します`ces_articles` (
`id` mediumint(8) 符号なし NOT NULL AUTO_INCREMENT,
`title` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT \'\',
`url` varchar(255) 文字セット utf8 COLLATE utf8_bin デフォルト NULL,
主キー (`id`)、
フルテキストキー `url` (`url`)
)ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC');
/*データを追加*/
$title='皆さんを愛しています、こんにちは';
$DBS->runSql('`ces_articles` (id,title,url) に INSERT INTO VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')');
$title='中国とは何か';
$DBS->runSql('`ces_articles` (id,title,url) に INSERT INTO VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')');
$title='http://ask.1912news.com';
$DBS->runSql('`ces_articles` (id,title,url) に INSERT INTO VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')');
$title='質問と回答システム';
$DBS->runSql('`ces_articles` (id,title,url) に INSERT INTO VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')');
1912.com のコンテンツ
$DBS->runSql('`ces_articles` (id,title,url) に INSERT INTO VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')');
$title = '09 ネットワーク';
$DBS->runSql('`ces_articles` (id,title,url) に INSERT INTO VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')');
//検索:
$_GET['q']="中国";
'q' をエコーし​​ます。
if(isset($_GET['q'])){$sql=' match(url) against (\''.str_replace('\u','u',trim(json_encode($_GET['q']))).'\' IN BOOLEAN MODE)';}
$query = $DBS->getData('SELECT * FROM `ces_articles` where '.$sql.' LIMIT 10');
'q' をエコーし​​ます。
if($クエリ){
foreach ($query を $article として){
$article['id']をエコーし​​ます。
}
}

?>

読んでいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただきありがとうございます。

以下もご興味があるかもしれません:
  • MySQL 5.7 での中国語全文検索の詳細な分析
  • 全文検索とキーワードスコアリング方式のMySQL実装例
  • MySQL全文検索の使用例
  • MySQL 5.7.25 全文検索チュートリアル

<<:  Vue での this.$set の動的データバインディングのケーススタディ

>>:  DockerとFastDFSのインストールコマンドと使い方の詳しい説明

推薦する

nginx 用の zabbix 5.0 をインストールして展開する方法

目次実験環境インストールと展開データベースをインストールして設定します (ここでは mariadb ...

MySQL は制限を使用してページング例メソッドを実装します

1. 制限の基本的な実装一般的に、クライアントは、pageNo (ページ番号) と pageSize...

MySQLデータベースの追加、削除、変更操作の詳細な説明

データの挿入テーブル名(列名1、列名2、列名3)の値(値1、値2、値3)に挿入します。ユーザーに(u...

Mysql SSHトンネル接続を使用するための基本的な手順

序文セキュリティ上の理由から、MySQL の root ユーザーはローカルにのみログインでき、外部ネ...

人気の宇宙飛行士ウォッチフェイスをJavaScriptで実装するための完全なコード

1. エフェクト表示JavaScript で書かれた宇宙飛行士のウォッチフェイス。 http://x...

MySQL データベース テーブルとデータベース パーティショニング戦略

まず、テーブルを分割する必要がある理由について説明します。データシートが数百万に達すると、1 回のク...

MySQLの高可用性と高パフォーマンスのクラスタを構築する方法

目次MySQL NDB Clusterとはクラスター構築のための準備作業クラスターのデプロイを開始す...

ubuntu20.04 LTSにdockerをインストールする方法

ゼロ: 古いバージョンをアンインストールするDocker の古いバージョンは、docker、dock...

html2canvasで画像が正常にキャプチャできない時の解決方法

質問まず、私が遭遇した問題についてお話しします。まず、そういった需要があるわけです。フロントエンドは...

JavaScript BOM ロケーション オブジェクト + ナビゲーター オブジェクト + 履歴オブジェクト

目次1. 場所オブジェクト1. URL 2. 場所オブジェクトのプロパティ3. ロケーションオブジェ...

Vue Element-ui テーブルはツリー構造テーブルを実現します

この記事では、ツリー構造テーブルを実現するためのElement-uiテーブルの具体的なコードを参考ま...

MySQL の基本クイックスタート知識のまとめ (マインドマップ付き)

目次序文1. データベースの基礎知識1. データベースとは何ですか? 2. データベースの分類3. ...

Vueはキー表示のショートカットキー効果を取得する入力コンポーネントを実装します

ページ上でショートカットキーをカスタマイズする要件に遭遇し、ショートカットキーを設定して表示する場所...

CentOS 6.2 に MySQL 5.7.28 をインストールするチュートリアル (mysql ノート)

1. 環境整備1.MySQLインストールパス: /usr/local 2. CentOS 6.2 ...

WebpackはCSSファイルを読み込み、その設定方法

webpackはCSSファイルとその設定をロードします複数の CSS ファイルを作成した後、HTML...