Extension:CirrusSearch/ja

CirrusSearch 拡張機能はElasticsearchを使った MediaWiki 検索を実装します.

このページはインストールに関するものです. インストール後、使用法に関してはを確認してください.

目標

 * ネイティブな依存関係がなくてもインストールが簡単にできること
 * 唯一の依存関係は pure-PHP MediaWiki 拡張機能と Elasticsearch だけ
 * 他の MediaWiki 拡張機能で拡張できるウィキページについて、ほぼリアルタイムに検索インデックスを返す
 * が利用者に開放したクエリオプションすべてと、その他を提供

依存関係
PHPとcURL
 * CirrusSearchでは、MediaWikiの標準的なPHPの要件に加えて、cURLをサポートしてコンパイルされたPHPが必要です.
 * Elasticsearch
 * Elasticsearchをインストールする必要があります.

なお、OpenJDKなどのJavaのインストールが別途必要です. Elasticsearchの公式Dockerイメージか、セルフホスティング版を使用するのがベストです. Amazon OpenSearch（旧Amazon Elasticsearch）のようなマネージド製品でも動作しますが、その仕様によっては追加の設定が必要な場合があります. For example, Amazon OpenSearch only listens for Elasticsearch API requests over HTTPS on port 443 (i.e. it does not expose the default Elasticsearch port 9200), so a TLS-enabled proxy (e.g. Nginx) can enable CirrusSearch to communicate with an Amazon OpenSearch cluster.


 * ElasticaはElasticsearchと対話するためのPHPライブラリです. 以下の説明に従ってElasticaをインストールしてください.
 * ElasticaはElasticsearchと対話するためのPHPライブラリです. 以下の説明に従ってElasticaをインストールしてください.

を参照してください.
 * その他 :
 * Due to the actual handling of jobs by the CirrusSearch extension, it is advisable to set up jobs in Redis to prevent messages like Notice: unserialize: Error at offset 64870 of 65535 bytes in JobQueueDB.php and subsequent errors like Unsupported operand types.

以下の説明では、gitからインストールする場合にのみComposerを実行するようになっていますが、PHPの依存コンポーネントをすべてインストールするためには、いずれにせよComposerを実行する必要があります.

アップグレード
CirrusSearch ファイルに記載されているアップグレード方法に従ってください.

設定
CirrusSearchの設定パラメータは、ファイルに記載されています. See also documentation on CirrusSearch configuration profiles.

フック
CirrusSearch 拡張機能が規定するフックは他の拡張機能でも利用でき、それぞれのコアのスキーマ拡張と説明文書の変更に使えます. 使用できるフックは次の通りです.


 * - 解析のために設定にフックすることができます
 * - フィールドのマッピングを設定することができます.
 * - ページから生成されたElasticSearchドキュメントを拡張機能で変更できるようになりました.
 * - 拡張機能でドキュメントの受信リンクと送信リンクを処理できるようにする
 * - ページのバッチがインデックスされたときに呼び出されます.
 * - クエリパーサの機能を追加する拡張機能
 * - 拡張機能でリスコアビルダー関数を定義できます
 * - 様々な検索コンポーネントと構成を宣言することができます.

API
CirrusSearch の機能は API クエリで使用可能です. Searching happens via the normal search API, ; you can use CirrusSearch-specific features, such as the   special prefix to find pages related to Marie Curie and radium: api.php?action=query&list=search&srsearch=morelike:Marie_Curie%7Cradium&srlimit=10&srprop=size&formatversion=2 CirrusSearchの設定とデバッグ情報を照会するためのカスタムAPIとパラメータが提供されています.


 * module: 2014?action=cirrusdump
 * 特別:検索または検索APIクエリへの パラメータ: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpQuery
 * 特別:検索または検索APIクエリへの パラメータ: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult
 * An additional parameter,, can be passed with   to have the Lucene explanation of the score included with the result dump: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult&cirrusExplain It can also be used to get the explanation in a human-readable format, by giving it one of the values  ,   or  , such as: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult&cirrusExplain=pretty
 * CirrusSearchのセットアップからダンプを取得するための, ,  ,  モジュールです.  api.php?action=cirrus-config-dump&formatversion=2

関連項目

 * 一般的なリンク
 * - CirrusSearch使用説明書(インストール後に必要)
 * ウィキメディアの Cirrus/Elastic 設定に関する情報
 * - 索引作りにさまざまな影響を与える調整可能なパラメータのセット
 * - Enhances Special:Search by providing advanced parameters
 * デバッグ
 * サーチバックエンドとして実際にCirrusが使用されているかどうかを判断する方法
 * サーチバックエンドとして実際にCirrusが使用されているかどうかを判断する方法

ローカル開発
Elastic Searchサービスは、Vagrantのロール（ ）とMediaWiki Vagrantで実行することができます.

Dockerの場合は、 のようなコマンドを使用することができます. その後、インストールと設定の指示に従います. ウェブホストがコンテナに入っている場合、上記のコンテナが同じネットワーク上にあることを確認し、LocalSettings.phpでホスト名として を参照するようにしたい. WMFのプラグインはありませんが、基本的なテストには十分でしょう.