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のインストールコマンドと使い方の詳しい説明

推薦する

MySQLを監視するためのbinlogログ解析ツールの詳しい説明:Canal

Canal は、Java を使用して開発された Alibaba のオープンソース プロジェクトです...

VMware ESXi サーバー仮想化クラスター

目次まとめ環境とツールの準備サーバー仮想化のインストール VMware ESXi仮想マシンのオペレー...

MySQL データ圧縮パフォーマンス比較の詳細

目次1. テスト環境1.1 ハードウェアとソフトウェア1.2 テーブル構造2. テストの目的2.1 ...

HTML マークアップ言語 - リファレンス

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

CSS の複雑なセレクターと CSS のフォントスタイルと色属性の詳細な説明

これまでに CSS の基本的なセレクターをいくつか学習しましたが、今日は CSS の複雑なセレクター...

HTML Selectは、デフォルトの選択を設定するためにselected属性を使用します。

オプションに属性 selected = "selected" を追加すると、それ...

Windows で Nginx を使用して https サーバーとリバース プロキシを構成する際の問題

リクエストロジックフロントエンド --> https経由でnginxをリクエストnginx -...

MySQLテーブルの内容の変更を監視し、MySQL binlogを有効にする

序文binlog は、MySQL のすべての追加、削除、および変更ステートメントを記録するバイナリ ...

HTML/CSS の基礎 - HTML コード記述におけるいくつかの注意事項 (必読)

この記事の警告事項は、ブラウザの互換性とはまったく関係ありません。主に、プロジェクトで遭遇したいくつ...

Vue で debouce の手ぶれ補正機能を使用する方法

目次1. 手ぶれ補正機能2. Vueでdebouceの手ぶれ補正機能を使用する1. 手ぶれ補正機能2...

MySQLが2つのテーブルを関連付ける際のエンコードの問題と解決策

Mysqlが2つのテーブルを関連付けると、次のエラーメッセージが生成されます:照合順序の不正な組み合...

DockerコンテナがJupyterにアクセスできない問題の解決策

このプロジェクトでは、環境を構築するために Docker コンテナを使用します。Dockerfile...

Dockerは複数のポートマッピングコマンドを有効にします

次のように: docker run -d -p 5000:23 -p 5001:22 --name ...

Nodejs でタイムドクローラーを実装する完全な例

目次事件の原因Node Scheduleを使用してスケジュールされたタスクを実装する1. node-...

JSは賞金の重さに基づいて当選確率を計算します

目次1. シナリオ例1.1. 抽選の賞品名を設定する1.2. 各賞の重みを設定する1.3. ラッキー...