Administer code search
Bitbucket Data Center and Server allows you to search through your code to find exactly what you’re looking for right from the search bar. You can restrict your search results to a specific project or repository using search filters. You can also search for code in a particular language (e.g., lang:java) or with a particular file extension (e.g., ext:css). Learn more about Bitbucket search syntax.
このページでは、Bitbucket Server と Data Center の Elasticsearch の使用方法や組織の要件に合わせて Elasticsearch を構成する方法について説明し、一般的な問題をトラブルシューティングするためのヒントを提供します。
Elasticsearch について
コード検索は、Bitbucket Server のリポジトリをリアルタイムでインデックスする Elasticsearch によって動作しています。Elasticsearch は Bitbucket Server に組み込まれており、Bitbucket Server によって自動的に管理されます。ほとんどの場合、管理者が手動で管理する必要はありません。
Bitbucket と Elasticsearch の重要な詳細情報および要件
このセクションでは、Bitbucket と Elasticsearch を使用する場合の重要な考慮事項の概要を説明します。ご利用のインストールに関連するセクションをご確認ください。
すべての Bitbucket Server/Data Center インストール
- Bitbucket Server および Data Center を実行するには Elasticsearch が必要です (ただし、必要に応じてコード検索を完全に無効化できます)。
- For information on supported versions of Elasticsearch and Bitbucket Server, please refer to Supported Platforms.
コード検索のためにインデックスするデータを構成し、フォークされたさまざまなタイプのリポジトリを除外してディスク領域を節約することができます。
Data Center はアップグレード予定に対応するため、Bitbucket 6.0 がリリースされるまで、Elasticsearch 2.3 と 5.5 の両方を引き続きサポートします。この時点で、Elasticsearch 2.3 は Data Center でサポートされなくなります。
インストーラーを使用してインストールされた Bitbucket
- インストーラーを使用して Bitbucket Server をインストールした場合、Elasticsearch はそのまま使えるように構成済みです。
- Bitbucket Sever's bundled Elasticsearch instance requires ports 7992 and 7993 to be available. This is not configurable when using the bundles Elasticsearch instance. If these ports are not available, you will need to Install and configure a remote Elasticsearch server to work with Bitbucket.
アーカイブ ファイル (.zip/.tar.gz) を使用してインストールされた Bitbucket
After unzipping the archive files, you need to copy the contents of the
<Bitbucket installation directory>/elasticsearch/config-template
directory to the<Bitbucket home>/shared/search
directory, or Bitbucket won't start correctly. Details can be found in the archive installation instructions for Windows and Linux.
Bitbucket Data Center インストール
- Bitbucket Data Center にはリモート Elasticsearch インスタンスがバンドルまたはインストールされないため、Bitbucket Data Center 用にリモート Elasticsearch インスタンスを用意する必要があります。Bitbucket Data Center 用のインストール手順に従い、リモート Elasticsearch インスタンスをインストールおよび構成する必要があります。
- Bitbucket Data Center はクラスタの Elasticsearch へのリモート接続を 1 つのみ持つことができます。これは、スタンドアロンの Elasticsearch インストールまたはロード バランサの背後のクラスタ化されたインストールにすることができます。
- コード検索は高可用性のための必須要件ではありませんが、Elasticsearch ノードのクラスタを実行して高可用性を実現することは可能です。このようなセットアップで問題が発生した場合、アトラシアンではサポートの提供を保証できない点にご注意ください。
Elasticsearch にアクセスするためのユーザー名およびパスワードの変更
Bitbucket が Elasticsearch にアクセスするために使用するユーザー資格情報は 2 つの方法で変更できます。
- Bitbucket Server の UI 内で Elasticsearch インスタンスの詳細を構成する
- Configure the details of your Elasticsearch instance within the
bitbucket.properties
file.
If an Elasticsearch parameter is set from within the bitbucket.properties
file, it cannot be edited later from the admin UI. Any changes that need to be made to the Elasticsearch configuration must be made within the bitbucket.properties
file.
Bitbucket Data Center でリモートの Elasticsearch インスタンスを使用
Bitbucket Data Center にはリモート Elasticsearch インスタンスがバンドルまたはインストールされないため、Bitbucket Data Center 用にリモート Elasticsearch インスタンスを用意する必要があります。これは、スタンドアロンの Elasticsearch インストールまたはロード バランサの背後のクラスタ化されたインストールにすることができます。
Bitbucket Data Center で使用するために 1 つのリモート Elasticsearch インスタンスをセットアップする手順については、Bitbucket Data Center のインストール手順をご確認ください。
For guidance on using a clustered Elasticsearch installation with Bitbucket Data Center, see the page Install and configure a remote Elasticsearch server, but note that Atlassian cannot guarantee support for such a setup in event you encounter problems.
リモート Elasticsearch インスタンスで Bitbucket Data Center を起動する
Bitbucket Data Center ではリモート Elasticsearch インスタンスが必要なため、Bitbucket Data Center の起動時には、Bitbucket Server に組み込みの Elasticsearch の起動を試みない引数を使用する必要があります。
リモート Elasticsearch インスタンスを使用するときに Bitbucket を起動する方法
Linux の場合 | start-bitbucket.sh --no-search |
---|---|
Windows の場合 | start-bitbucket.bat /no-search
|
Elasticsearch のトラブルシューティングとよくある質問
フィールドがグレーアウトされているために UI から Elasticsearch 設定を構成できない
Your Elasticsearch configurations were set within the bitbucket.properties
file. If a parameter is set in the bitbucket.properties
file, it cannot be edited later from the admin UI. Any changes that need to be made to the Elasticsearch configuration must be made within the bitbucket.properties
file.
リモート Elasticsearch インスタンスが大量のディスク領域を使用している
Bitbucket 5.1+ では、Elasticsearch の検索インデックスで特定のタイプのフォークされたリポジトリを除外するように構成できます。組織で開発にフォークベースのワークフローを使用している場合、これによってディスク領域を節約できます。コード検索のためのインデックス対象を変更するために利用可能なオプションについては「Bitbucket Server の構成プロパティ - 検索」をご確認ください。インデックス対象からコンテンツを除外すると、そのようなコンテンツはコード検索の結果には表示されなくなりますが、リポジトリそのものは引き続き検索結果に表示されます。
コード検索を完全に無効化する必要がある場合
If you need to turn off code search for all of your Bitbucket Server (or Data Center) users, you can disable code search entirely from within the bitbucket.properties
file. See the page Bitbucket Server config properties - Search for details.
コード検索が利用できない場合
複数の原因により、Elasticsearch が適切な方法で構成されなかった可能性があります。Bitbucket Server に同梱される Elasticsearch のバンドル バージョンをトラブルシューティングするには、「Bitbucket Server のコード検索のトラブルシューティング手順」から開始することをおすすめします。前述のページのヒントを確認したが問題を解決できない場合、アトラシアン コミュニティで質問を投稿するか (ご利用の構成が一般的なものではないか、サポート対象外の場合)、アトラシアン サポートに支援を依頼 (サポート リクエストの起票にはログインが必要) できます。
Bitbucket Server/Data Center の実行に Elasticsearch/コード検索は必須ですか?
はい。Bitbucket Server および Data Center を実行するには Elasticsearch が必要です (ただし、必要に応じてコード検索を完全に無効化できます)。
Bitbucket Data Center で Elastcsearch のバンドルされたインスタンスを使用できますか?
いいえ。Bitbucket Data Center にはリモート Elasticsearch インスタンスが必要です。これは Bitbucket Data Center にバンドルまたはインストールされません。
Bitbucket Data Center で Elasticsearch のクラスタ化されたインストールを使用できますか?
Yes, however, Bitbucket Data Center can have only one remote connection to Elasticsearch for your cluster. This may be a standalone Elasticsearch installation or a clustered installation behind a load balancer. For guidance on using a clustered Elasticsearch installation with Bitbucket Data Center, see the page Install and configure a remote Elasticsearch server, but note that Atlassian cannot guarantee support for such a setup in event you encounter problems.
リモート Elasticsearch インスタンスはどのように保護すればよいですか?
アトラシアンでは、リモート Elasticsearch インスタンスへのアクセスをユーザー名とパスワードで保護し、最小でも基本 HTTP 認証を行うことを強く推奨します。接続するすべてのユーザーに認証資格情報を要求するセキュリティ プラグインでリモート Elasticsearch インスタンスを保護できます。アトラシアンはこのための、Buckler と呼ばれる無料のプラグインを提供しています。
For instructions on how to secure your remote Elasticsearch instance with Buckler, see Install and configure a remote Elasticsearch instance - Secure your remote Elasticsearch instance