高度な検索
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
高度な検索を使用すると、GitLabインスタンス全体から必要なものを正確に見つけることができます。
高度な検索を使用すると次のことができます。
- すべてのプロジェクトにわたるコードパターンを特定して、共有コンポーネントをより効率的にリファクタリングすること。
- 組織全体のコードベースと依存関係にわたるセキュリティ脆弱性を特定します。
- すべてのリポジトリ全体で、非推奨の関数またはライブラリを追跡する。
- イシュー、マージリクエスト、コメントに埋もれているディスカッションを見つける。
- すでに存在する機能を一新する代わりに、既存のソリューションを見つける。
高度な検索は以下で機能します:
- コード
- コメント
- コミット
- エピック
- イシュー
- マージリクエスト
- マイルストーン
- プロジェクト
- ユーザー
- Wiki
高度な検索を使用する
前提条件:
- 高度な検索を有効にする必要があります:
- GitLab.comおよびGitLab Dedicatedの場合、有料のサブスクリプションでは高度な検索がデフォルトで有効になっています。
- GitLab Self-Managedの場合、管理者が高度な検索を有効にする必要があります。
高度な検索を使用するには:
- 上部のバーで、検索または移動先を選択します。
- 検索ボックスに検索語句を入力します。
プロジェクトまたはグループで高度な検索を使用することもできます。
使用可能なスコープ
スコープは、検索するデータの種類を表します。高度な検索では、次のスコープを利用できます。
| スコープ | グローバル1 2 | グループ | プロジェクト |
|---|---|---|---|
| コード | |||
| コメント | |||
| コミット | |||
| エピック | いいえ | ||
| イシュー3 | |||
| マージリクエスト3 | |||
| マイルストーン4 | |||
| プロジェクト | いいえ | ||
| ユーザー | |||
| Wiki |
脚注:
- 管理者は、グローバル検索のスコープを無効にできます。GitLab Self-Managedでは、制限付きインデックス作成がデフォルトで有効になっている場合、グローバル検索は使用できません。管理者は、グローバル検索で制限付きインデックス作成を有効にできます。
- GitLab.comでは、コード、コミット、Wikiに対してグローバル検索は有効になっていません。
- イシューとマージリクエストを検索すると、検索語に一致するコメントが結果に含まれます。
- 高度な検索では、グループのマイルストーンがElasticsearchにインデックスされないため、プロジェクトのマイルストーンのみが返されます。詳細については、イシュー428589を参照してください。
構文
高度な検索では、simple_query_stringを使用します。これは、完全一致クエリとあいまい一致クエリの両方をサポートします。
ユーザーを検索すると、デフォルトでfuzzyクエリが使用されます。simple_query_stringを使用して、ユーザーの検索を絞り込むことができます。
| 構文 | 説明 | 例 |
|---|---|---|
" | 完全一致検索 | "gem sidekiq" |
~ | あいまい検索 | J~ Doe |
| | または | display | banner |
+ | および | display +banner |
- | 除外 | display -banner |
* | 部分 | bug error 50* |
\ | エスケープ | \*md |
# | イシューID | #23456 |
! | マージリクエストID | !23456 |
コード検索
| 構文 | 説明 | 例 |
|---|---|---|
filename: | ファイル名 | filename:*spec.rb |
path: | リポジトリの場所(完全一致または部分一致) | path:spec/workers/ |
extension: | .なしのファイル拡張子(完全一致のみ) | extension:js |
blob: | GitオブジェクトID(完全一致のみ) | blob:998707* |
例
| クエリ | 説明 |
|---|---|
rails -filename:gemfile.lock | gemfile.lockファイルを除くすべてのファイルのrailsを返します。 |
RSpec.describe Resolvers -*builder | builderで始まらないRSpec.describe Resolversを返します。 |
bug | (display +banner) | bugまたは、displayとbannerの両方を返します。 |
helper -extension:yml -extension:js | .yml拡張子または.js拡張子のファイルを除く、すべてのファイルのhelperを返します。 |
helper path:lib/git | パスにlib/git*の付くすべてのファイル(spec/lib/gitlabなど)のhelperを返します。 |
既知の問題
1 MB未満のファイルのみ検索できます。GitLab Self-Managedの場合、管理者はインデックスされる最大ファイルサイズに制限を設定できます。
プロジェクトのデフォルトブランチのみで高度な検索を使用できます。詳細については、イシュー229966を参照してください。
検索クエリに、次のいずれの文字も使用しないでください。
. , : ; / ` ' = ? $ & ^ | < > ( ) { } [ ] @検索結果には、ファイル内で最初に一致した結果のみが表示されます。