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

推薦する

UbuntuでGRUBの起動時間を変更する

grubの起動時間を変更するためのオンライン検索は基本的に/etc/default/grubを変更す...

Vue3.0 は虫眼鏡効果のケーススタディを実装します

達成される効果は、固定ズームが 2 倍になり、マウスが左側の画像領域に入るとマスク レイヤーが表示さ...

MySQLにデータを素早くインポートする方法

序文:日々の勉強や仕事の中で、データをエクスポートする必要に迫られることがよくあります。たとえば、デ...

ラジオボタンと複数選択ボタンは画像を使用してスタイル設定されます

ラジオ ボタンや複数選択ボタンにスタイルを追加する方法や、ボタンを大きくする方法を尋ねる人を以前見か...

MYSQLデータベースの最適化段階を簡単に理解する

導入面接官がこんな質問をしたことはありませんか?データベースをどのように最適化しますか?では、この質...

Vue.js ソースコード解析のカスタム手順の詳細な説明

序文コア機能のデフォルトの組み込みディレクティブ (v-model および v-show) に加えて...

Vueの使用に関する深い理解

目次Vueのコアコンセプトを理解するVueの双方向バインディングの原理と実装を探るVue 双方向バイ...

ページ下部のフッターを修正する方法(複数の方法)

フロントエンド Web エンジニアとして、ページ効果を作成するときに次の現象に遭遇したことがあるはず...

Linux の一般的なコマンド chmod を使用して、ファイルの権限 777 と 754 を変更します。

よく使用されるコマンドは次のとおりです。 chmod 777 文件或目錄例: chmod 777 /...

VirtualBox仮想マシンがNATモードで外部ネットワークに接続できない問題の解決策

背景VirtualBox 仮想マシン (Ubuntu 16.04 システムがロードされている) には...

Linux システムで httpd の自動インストールと構成を Ansible で実装する方法

1. Ansibleのプレイブックを使用してhttpdを自動的にインストールする1) まず、Ansi...

ubuntu20.04 LTS システムのデフォルト ソース ソース リスト ファイルの変更

誤って source.list の内容を変更し、一連のエラーが発生した場合は、デフォルトのソース フ...

HTML メタの説明

導入メタタグは、HTML言語のHEAD領域にある補助タグです。 meta は、ページの説明、キーワー...

MySQL 権限昇格のさまざまな形態の概要

目次1. Webshel​​lを書く出力ファイルにシェルを書き込むログファイル書き込みシェル2. U...

CentOS6.5 でファイル共有サービス Samba を構築するチュートリアル

Samba サービス:このコンテンツはサンバサービス学習者の参考用ですケースの説明:企業の管理者は、...