目次
興味がありそうな記事
ホームページ バックエンド開発 PHPチュートリアル Windows に Sphinx をインストールして使用する [中国語の全文検索をサポート]_PHP チュートリアル

Windows に Sphinx をインストールして使用する [中国語の全文検索をサポート]_PHP チュートリアル

Jul 13, 2016 am 10:31 AM
sphinx windows 使用 全文検索 インストール

少し前に、さまざまな言語 (PHP/Python/Ruby/etc) で簡単に呼び出すことができる全文検索システムである Sphinx を使用してみました。インターネット上の情報のほとんどは Linux 環境にインストールされ、使用されます。もちろん、本番環境としては、*nix 環境にデプロイする必要があります。学習やテストには、Windows 環境の方が便利です。

この記事は、中国語の全文検索をサポートするために Windows に Sphinx をインストールして構成する便利な方法を提供することを目的としています。構成部分は Linux で共通です。

1. スフィンクスについて

Sphinx は GPLv2 に基づいてリリースされた全文検索エンジンです。商用認可 (他のプログラムへの埋め込みなど) については、作者 (Sphinxsearch.com) に連絡して商用認可を取得する必要があります。

一般的に言えば、Sphinx は独立した検索エンジンであり、高速、低スペース占有、および結果に関連性の高い全文検索機能を他のアプリケーションに提供することを目的としています。 Sphinx は、SQL データベースやスクリプト言語と簡単に統合できます。

現在のシステムには、MySQL および PostgreSQL データベース データ ソースのサポートが組み込まれており、標準入力からの特定の形式の XML データの読み取りもサポートされています。ソース コードを変更することで、ユーザーは新しいデータ ソースを追加できます (たとえば、他の種類の DBMS のネイティブ サポート)。

検索 API は PHP、Python、Perl、Rudy、Java をサポートしており、MySQL ストレージ エンジンとしても使用できます。検索 API は非常にシンプルで、数時間以内に新しい言語に移植できます。

スフィンクスの特徴:

  • 高速インデックス作成 (最新の CPU では、ピークパフォーマンスは 10MB/秒に達する可能性があります);
  • 高性能検索 (2 ~ 4 GB のテキスト データで 1 回の取得あたりの平均応答時間は 0.1 秒未満)。
  • 大量のデータを処理できます (現在、単一 CPU システムで 100GB を超えるテキスト データと 1 億ドキュメントを処理できることがわかっています);
  • 優れた関連性アルゴリズム、フレーズの類似性と統計に基づく複合ランキング手法 (BM25) を提供します。
  • 分散検索をサポート;
  • 文書の抜粋生成を提供する。
  • 検索サービスを提供するための MySQL ストレージ エンジンとして使用できます。
  • ブール値、フレーズ、単語の類似性などの複数の検索モードをサポートします。
  • このドキュメントは複数の全文検索フィールド (最大 32 個まで) をサポートしています。
  • ドキュメントは複数の追加属性情報 (例: グループ化情報、タイムスタンプなど) をサポートします。
  • ストップワードクエリ。
  • シングルバイトエンコーディングとUTF-8エンコーディングをサポートします。
  • ネイティブ MySQL サポート (MyISAM と InnoDB の両方をサポート)。
  • ネイティブ PostgreSQL サポート。
中国語のマニュアルはここから入手できます。翻訳者の尽力に感謝します。

2. Windows への Sphinx のインストール

1. 最新の Windows バージョンを http://www.sphinxsearch.com/downloads.html で見つけます。ここでダウンロードしたのは、MySQL をサポートする Win32 リリースのバイナリです。

2. D:sphinx の下にインデックス ファイルとログ ファイル用のログ ディレクトリを作成します (ファイル名の変更に注意してください)。

3. D:sphinxbinsphinx.conf を変更する必要があるものをここにリストします。

リーリー リーリー リーリー リーリー リーリー リーリー リーリー リーリー リーリー リーリー リーリー

4. テストデータをインポートする
C:Program FilesMySQLMySQL Server 5.0bin>mysql -uroot test 5. インデックスを作成します

D:sphinxbin>indexer.exe –all

Sphinx 0.9.8-リリース (r1533)
著作権 (c) 2001-2008、アンドリュー・アクショーノフ


設定ファイル「./sphinx.conf」を使用しています…
インデックス「test1」をインデックス化しています…

4 つのドキュメントを収集、0.0 MB

ソート済み 0.0 M ヒット、100.0% 完了
合計 4 つのドキュメント、193 バイト
合計 0.101 秒、1916.30 バイト/秒、39.72 ドキュメント/秒

D:スフィンクスビン>

6.「テスト」を検索してみてください

D:sphinxbin>search.exe テスト

Sphinx 0.9.8-リリース (r1533)
著作権 (c) 2001-2008、アンドリュー・アクショーノフ


設定ファイル「./sphinx.conf」を使用しています…
インデックス「test1」: クエリ「test」: 0.000 秒以内に合計 3 件中 3 件の一致が返されました

一致の表示:
1. document=1、weight=2、group_id=1、date_added=2008 年 11 月 26 日水曜日 14:58:59

id=1

グループID=1
group_id2=5
date_added=2008-11-26 14:58:59
title=テスト1
content=これは私のテスト ドキュメント 1 番目です
内の検索もチェックします。 フレーズ。
2. document=2、weight=2、group_id=1、date_added=2008 年 11 月 26 日水曜日 14:58:59
id=2
グループID=1
group_id2=6
date_added=2008-11-26 14:58:59
title=テスト2
content=これは私のテストドキュメントその2です
3. document=4、weight=1、group_id=2、date_added=2008 年 11 月 26 日水曜日 14:58:59
id=4
グループID=2
group_id2=8
date_added=2008-11-26 14:58:59
title=ドキュメント番号 4
content=これはグループをテストするためのものです

言葉:
1. 「テスト」: 3 つのドキュメント、5 つのヒット
D:スフィンクスビン>

みんな出てきました。

6. 中国語検索をテストする

テストデータベース内のドキュメントデータテーブルを変更します。

UPDATE `test`.`documents` SET `title` = '中国語のテスト', `content` = 'これは私のテスト文書番号 2 です、あなたはそれを見つけることができるはずです' WHERE `documents`.`id` = 2 ;

インデックスを再構築:

D:sphinxbin>indexer.exe –all

「中文」を検索してみてください:

D:sphinxbin>search.exe 中国語
Sphinx 0.9.8-リリース (r1533)
著作権 (c) 2001-2008、アンドリュー・アクショーノフ

設定ファイル「./sphinx.conf」を使用しています…
インデックス「test1」: クエリ「中文」: 0.000 秒で合計 0 件中 0 件の一致が返されました

言葉:
D:スフィンクスビン>

見つからないようです。これは、Windowsのコマンドラインのエンコーディングがgbkであるため、当然見つかりません。プログラムで試して、D:sphinxapi の下に新しいファイル foo.php を作成し、utf-8 エンコーディングに注意してください

「sphinxapi.php」が必要です;
$s = 新しい SphinxClient();
$s->SetServer('localhost',3312);
$result = $s->Query('中文');
var_dump($result);
?>

Sphinx検索サービスを開始します

D:sphinxbin>searchd.exe
Sphinx 0.9.8-リリース (r1533)
著作権 (c) 2001-2008、アンドリュー・アクショーノフ

警告: Windows では – コンソール モードを強制します
設定ファイル「./sphinx.conf」を使用しています…
0.0.0.0:3312 にサーバーソケットを作成しています
接続を受け付けています

PHPクエリを実行:

php d:/sphinx/api/foo.php

結果は出ましたか?残りの作業は、マニュアルを読み、高レベルの構成をゆっくりと検討することです。

興味がありそうな記事

  • Windows での Memcache のインストールと設定のチュートリアル
  • Windows のコマンドラインで PHP ファイルを実行する方法
  • Sphinx の実装 中国語の全文検索
  • mysql データベースのマスター/スレーブWindows 環境 同期バックアップ手順
  • Windows システムに memcache をインストールする
  • Windows 7 で PHP 実行環境をインストールして構成する方法
  • php は、文字列がすべて英語か、純粋な中国語か、中国語と英語の組み合わせかを判断します
  • 構成情報 (レジストリ内) が不完全または破損しているため、Windows はこのハードウェア デバイスを起動できません。 (コード 19) 解決策

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/764167.html技術記事少し前に、さまざまな言語(PHP/Python/Ruby/etc)から簡単に呼び出せる全文検索システムSphinxを使ってみました。インターネット上の情報のほとんどは、Linux 環境でのインストールと使用に関するものです...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

node.js環境で403を返すサードパーティインターフェイスの問題を解決する方法は? node.js環境で403を返すサードパーティインターフェイスの問題を解決する方法は? Mar 31, 2025 pm 11:27 PM

node.js環境で403を返すサードパーティインターフェイスの問題を解決します。 node.jsを使用してサードパーティのインターフェイスを呼び出すと、403を返すインターフェイスから403のエラーが発生することがあります...

OKXトレーディングプラットフォームをダウンロードする方法 OKXトレーディングプラットフォームをダウンロードする方法 Mar 26, 2025 pm 05:18 PM

OKXトレーディングプラットフォームは、モバイルデバイス(AndroidおよびiOS)およびコンピューター(WindowsとMacOS)からダウンロードできます。 1.Androidユーザーは、公式WebサイトまたはGoogle Playからダウンロードでき、セキュリティ設定に注意を払う必要があります。 2。IOSユーザーは、App Storeからダウンロードするか、公式発表に従って他の方法を取得できます。 3.コンピューターユーザーは、対応するシステムのクライアントを公式Webサイトからダウンロードできます。インストール後、ダウンロードして登録するときは必ず公式チャネルを使用し、ログインし、セキュリティ設定を使用してください。

WindowsやLinuxファイルを同期するときに、Compare Beyond Compareがケース感度に失敗した場合はどうすればよいですか? WindowsやLinuxファイルを同期するときに、Compare Beyond Compareがケース感度に失敗した場合はどうすればよいですか? Apr 01, 2025 am 08:06 AM

compareを超えてファイルを比較して同期する問題:それ以降を使用する場合のケース感度障害...

ノード環境で403エラーを返すサードパーティのインターフェイスを回避する方法は? ノード環境で403エラーを返すサードパーティのインターフェイスを回避する方法は? Apr 01, 2025 pm 02:03 PM

ノード環境で403エラーを返すサードパーティのインターフェイスを回避する方法。 node.jsを使用してサードパーティのWebサイトインターフェイスを呼び出すと、403エラーを返す問題が発生することがあります。 �...

マルチスレッドをC言語で実装する4つの方法 マルチスレッドをC言語で実装する4つの方法 Apr 03, 2025 pm 03:00 PM

言語のマルチスレッドは、プログラムの効率を大幅に改善できます。 C言語でマルチスレッドを実装する4つの主な方法があります。独立したプロセスを作成します。独立して実行される複数のプロセスを作成します。各プロセスには独自のメモリスペースがあります。擬似マルチスレッド:同じメモリ空間を共有して交互に実行するプロセスで複数の実行ストリームを作成します。マルチスレッドライブラリ:pthreadsなどのマルチスレッドライブラリを使用して、スレッドを作成および管理し、リッチスレッド操作機能を提供します。 Coroutine:タスクを小さなサブタスクに分割し、順番に実行する軽量のマルチスレッド実装。

なぜ私のコードはAPIによってデータを返しているのですか?この問題を解決する方法は? なぜ私のコードはAPIによってデータを返しているのですか?この問題を解決する方法は? Apr 01, 2025 pm 08:09 PM

なぜ私のコードはAPIによってデータを返しているのですか?プログラミングでは、APIが呼び出すときにヌル値を返すという問題に遭遇することがよくあります。

Windowsの下のpython .whlファイルをどこからダウンロードしますか? Windowsの下のpython .whlファイルをどこからダウンロードしますか? Apr 01, 2025 pm 08:18 PM

Pythonバイナリライブラリ(.whl)のダウンロードメソッドは、Windowsシステムに特定のライブラリをインストールする際に多くのPython開発者が遭遇する困難を調査します。一般的な解決策...

Debianログを介してシステムのパフォーマンスを監視する方法 Debianログを介してシステムのパフォーマンスを監視する方法 Apr 02, 2025 am 08:00 AM

Debianシステムログ監視のマスターは、効率的な動作とメンテナンスの鍵です。システムの動作条件をタイムリーに理解し、障害をすばやく見つけ、システムのパフォーマンスを最適化するのに役立ちます。この記事では、一般的に使用されるいくつかの監視方法とツールを紹介します。 SysStat Toolkitを使用したシステムリソースの監視SysStat Toolkitは、CPUロード、メモリ使用量、ディスクI/O、ネットワークスループットなど、さまざまなシステムリソースメトリックを収集、分析、レポートするための一連の強力なコマンドラインツールを提供します。 MPSTAT:マルチコアCPUの統計。ピドスタ

See all articles