swish 拡張モジュールは、Swish-e API 用のバインディングを提供します。 Swish-e は "Simple Web Indexing System for Humans - Enhanced" を略したもので、オープンソースのインデックス作成/検索システムです。 Swish-e 自体のライセンスは GPL ですが、Swish-e ソースコードの URL にあるように、アプリケーションからそのライブラリにリンクすることができます。 http://swish-e.org を参照ください。
警告 |
この拡張モジュールは、 実験的 なものです。この拡張モジュールの動作・ 関数名・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 このモジュールは自己責任で使用してください。 |
PECL/swish は、PHP 5.1.3 以降で動作します。
この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 http://pecl.php.net/package/swish.
最新の PECL/swish Win32 DLL のダウンロード先はこちらです。 php_swish.dll
設定ディレクティブは定義されていません。
上の例の出力は、たとえば 以下のようになります。
Found 9 results object(SwishResult)#3 (8) { ["swishreccount"]=> int(1) ["swishrank"]=> int(1000) ["swishfilenum"]=> int(10) ["swishdbfile"]=> string(13) "index.swish-e" ["swishdocpath"]=> string(23) "README.SUBMITTING_PATCH" ["swishtitle"]=> NULL ["swishdocsize"]=> int(4557) ["swishlastmodified"]=> int(1072136752) } |
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
indexes - 使用するインデックスおよびそのプロパティの配列。 プロパティの一覧は、Swish-e のバージョンに依存します。
Swish::__construct - 新しい Swish オブジェクトを作成します。 エラー時に SwishException をスローします。
Swish->prepare - SwishSearch オブジェクトを準備して返します。 エラー時に SwishException をスローします。
Swish->query - クエリを実行し、SwishResults オブジェクトを返します。 エラー時に SwishException をスローします。
Swish->getMetaList - 指定したインデックスファイルのメタエントリの配列を返します。
Swish->getPropertyList - 指定したインデックスファイルのプロパティの配列を返します。
SwishSearch->setStructure - 検索オブジェクトの構造フラグを設定します。このフラグを使用して、 HTML ドキュメントの一部のみに検索制限をかけます。
SwishSearch->setPhraseDelimiter - フレーズの区切り文字を設定します。デフォルトはダブルクォートです。
SwishSearch->setSort - 結果の並び順を設定します。
SwishSearch->setLimit - 結果の限界を設定します。 エラー時に SwishException をスローします。
SwishSearch->resetLimit - 制限をリセットします。
SwishSearch->execute - クエリを実行し、SwishResults オブジェクトを返します。 エラー時に SwishException をスローします。
hits - この SwishResults オブジェクトの結果の数。
indexes - 検索で使用するインデックスの配列。
SwishResults->nextResult - 次の SwishResult オブジェクト、 あるいはもう結果がない場合に FALSE を返します。
SwishResults->seekResult - SwishResults オブジェクト内の現在のシーク位置を設定します。 エラー時に SwishException をスローします。
SwishResults->getParsedWords - クエリ内の単語の配列を、ストップワードを削除して返します。
SwishResults->getRemovedStopwords - 削除したストップワードの配列を返します。
プロパティは Swish-e のバージョンに依存します。サンプルを参照ください。
SwishResult->getMetaList - この結果で使用するインデックスのメタエントリの配列を返します。
SwishResult->stem - 単語の語幹を取得し、結果を文字列の配列で返します。 エラー時に SwishException をスローします。
SwishException は、組み込みの Exception クラスを継承したもので、 このクラスと同じプロパティやメソッドを保持しています。詳細は 例外を拡張する項第20章 を参照ください。