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 is a PHP library to talk to Elasticsearch. Install Elastica per the instructions below.

を参照してください.
 * その他 :
 * 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 拡張機能が規定するフックは他の拡張機能でも利用でき、それぞれのコアのスキーマ拡張と説明文書の変更に使えます. 使用できるフックは次の通りです.


 * - 解析のために設定にフックすることができます
 * - allows configuration of the mapping of fields
 * - allows extensions to modify ElasticSearch document produced from a page
 * - allows extensions to process incoming and outgoing links for the document
 * - called when a batch of pages has been indexed
 * - クエリパーサの機能を追加する拡張機能
 * - 拡張機能でリスコアビルダー関数を定義できます
 * - 様々な検索コンポーネントと構成を宣言することができます.

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
 * parameter to Special:Search or search API queries: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpQuery
 * parameter to Special:Search or search API queries: 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
 * デバッグ
 * デバッグ
 * How to determine that Cirrus is actually used as the search backend

ローカル開発
Elastic Search service can be run with the Vagrant role and MediaWiki Vagrant.

Dockerの場合は、 のようなコマンドを使用することができます. その後、インストールと設定の指示に従います. If your web host is in a container you'll want to make sure the above container is on the same network, and in LocalSettings.php you will want to reference  as the host name. WMFのプラグインはありませんが、基本的なテストには十分でしょう.