ホームページ >バックエンド開発 >PHPチュートリアル >PHP は scws を使用して mysql 全文検索機能を実装します

PHP は scws を使用して mysql 全文検索機能を実装します

PHP中文网
PHP中文网オリジナル
2016-07-13 17:05:541398ブラウズ

この記事では、PHP が scws を使用して MySQL の全文検索機能を実装する方法を主に紹介します。MySQL の全文検索機能は、scws の単語分割プラグインを拡張することで実装できます。必要な場合は参照してください

この記事では、scws を使用して php で mysql の全文検索機能を実装する方法の例について説明します。参考のためにみんなで共有してください。具体的な方法は次のとおりです:

scws のような中国語の単語分割プラグインは非常に優れており、固有名、人名、地名、デジタル年齢などのいくつかのルール セットが含まれています。これらのルールに従って文を主要な単語に直接分割できます。精度は 90% ~ 95% です。インストール手順に従って、scws 拡張子を PHP 拡張子ディレクトリに配置し、ルール ファイルと辞書ファイルをダウンロードして参照します。 PHP 設定ファイルで、単語のセグメンテーションに scws を使用できます

1) PHP 5.4.x と互換性があるように PHP 拡張コードを変更します

2) PHP 拡張機能の scws_get_tops の制限パラメータが正しくない問題を修正します。 10 未満は許可されます

3) libscws は既存の scws から scws_fork() を追加します。インスタンスはブランチを生成し、主にマルチスレッド開発に使用される辞書/ルール セットを共有します

4) win32 dll 拡張機能のいくつかのバージョンを追加します

PHP のコード例は次のとおりです。

コードは次のとおりです。

<?php 
//实例化分词插件核心类 
$so = scws_new(); 
//设置分词时所用编码 
$so->set_charset(&#39;utf-8&#39;); 
//设置分词所用词典(此处使用utf8的词典) 
$so->set_dict(&#39;/path/dict.utf8.xdb&#39;); 
//设置分词所用规则 
$so->set_rule(&#39;/path/rules.utf8.ini &#39;); 
//分词前去掉标点符号 
$so->set_ignore(true); 
//是否复式分割,如“中国人”返回“中国+人+中国人”三个词。 
$so->set_multi(true); 
//设定将文字自动以二字分词法聚合 
$so->set_duality(true); 
//要进行分词的语句 
$so->send_text(“欢迎来到火星时代IT开发”); 
//获取分词结果,如果提取高频词用get_tops方法 
while ($tmp = $so->get_result()) 
{ 
  print_r($tmp); 
} 
$so->close(); 
?>


注: 上記の例と同様に、入力テキスト、辞書、ルール ファイルの文字セットは統一する必要があります。さらに、一部の mysql 4.XX は中国語の全文検索をサポートしていません。全文検索を容易にするために、キーワードに対応する場所コードを保存できます

バージョン タイプ プラットフォーム パフォーマンス その他SCWS -1.1.x C コード *Unix*/*PHP* 精度: 95%、再現率: 91%、速度: 1.2MB/秒

PHP 拡張子ワード分割速度: 250KB/秒 [ダウンロード] [ドキュメント] [インストール手順]

php_scws.dll(1) PHP 拡張ライブラリ Windows/PHP 4.4.x 精度: 95%、リコール: 91%,

php_scws.dll(2 ) PHP 拡張ライブラリ Windows/PHP 5.2.x 精度: 95%、リコール: 91%、

php_scws.dll(3) PHP 拡張ライブラリ Windows/PHP 5.3.x 精度: 95%、再現率: 91%、

php_scws .dll(4) PHP 拡張ライブラリ Windows/PHP 5.4.x 精度: 95%、再現率: 91%、

PSCWS23 PHP ソース コードは制限なし (UTF-8 はサポートしていません) 精度: 93%、再現率: 89%、

PSCWS4 PHP ソース コードは制限なし 精度: 95%、再現率: 91%、

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。