高度な検索
13.9でGitLab Premiumに移行しました。
GitLabインスタンス全体でより高速で効率的な検索を行うために、高度な検索を使用することができます。高度な検索はElasticsearchをベースにしています。Elasticsearchは専用のフルテキスト検索エンジンで、水平方向に拡張することができ、ほとんどの場合1秒で結果を得ることができます。
すべてのプロジェクトで更新したいコードを一度に見つけることができ、メンテナンスの時間を節約し、インナーソースを促進します。
詳細検索は
- プロジェクト
- イシュー
- マージリクエスト
- マイルストーン
- ユーザー
- エピック(グループのみ)
- コード
- コメント
- コミット
- プロジェクトとグループのWiki
高度な検索を有効に
- GitLab.comでは、有料のサブスクリプションを持つグループでは高度な検索が有効になります。
- セルフマネジメントのGitLabインスタンスでは、管理者が高度な検索を有効にする必要があります。
構文
高度な検索ではElasticsearch の構文を使用します。この構文は厳密検索クエリとあいまい検索クエリの両方をサポートしています。
| 構文 | 説明 | 物件例 | 
|---|---|---|
| " | 正確な検索 | "gem sidekiq" | 
| ~ | あいまい検索 | J~ Doe | 
| | | または | ディスプレイ|バナー | 
| + | そして | display +banner | 
| - | 除外 | display -banner | 
| * | 一部 | bug error 50* | 
| \ | エスケープ | \*md | 
| # | Issue ID | #23456 | 
| ! | マージリクエストID | !23456 | 
ユーザー検索
GitLab 15.10で導入されたユーザー検索の絞り込み機能。
ユーザーを検索する際、デフォルトではファジーなクエリが使用されます。Elasticsearchの構文でユーザーを絞り込むことができます。
コード検索
| 構文 | 説明 | 物件例 | 
|---|---|---|
| filename: | ファイル名 | filename:*spec.rb | 
| path: | リポジトリの場所1 | path:spec/workers/ | 
| extension: | ファイル拡張子( .を除く) 2 | extension:js | 
| blob: | Git オブジェクト ID2 | blob:998707* | 
- 
path:はフルパスあるいは部分パスのマッチを返します。
- 
extension:とblob:は完全一致のみを返します。
使用例
| クエリ | 説明 | 
|---|---|
| rails -filename:gemfile.lock | gemfile.lockファイルを除くすべてのファイルのrailsを返します。 | 
| RSpec.describe Resolvers -*builder | builderで始まらないRSpec.describe Resolversを返します。 | 
| バグ | bugまたはdisplayとbannerの両方を返します。 | 
| ヘルパー -extension:yml -extension:js | 拡張子が .ymlあるいは.jsのファイルを除くすべてのファイルでhelperを返します。 | 
| ヘルパーのパス:lib/git | lib/git*のパス(たとえば、spec/lib/gitlab)を持つすべてのファイルでhelperを返します。 | 
