高度な検索
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
高度な検索を使用すると、GitLabインスタンス全体から必要なものを正確に見つけることができます。
高度な検索を使用すると次のことができます:
- すべてのプロジェクトにわたるコードパターンを特定して、共有コンポーネントをより効率的にリファクタリングすること。
- 組織全体のコードベースと依存関係にあるセキュリティの脆弱性を一度に特定します。
- すべてのリポジトリ全体で、非推奨の関数またはライブラリを追跡する。
- イシュー、マージリクエスト、コメントに埋もれているディスカッションを見つける。
- すでに存在する機能を一新する代わりに、既存のソリューションを見つける。
高度な検索は、プロジェクト、イシュー、マージリクエスト、マイルストーン、ユーザー、エピック、コード、コメント、コミット、Wikiで機能します。
高度な検索を使用するには
前提要件:
- 高度な検索を有効にする必要があります:
- GitLab.comとGitLab Dedicatedの場合、高度な検索は有料サブスクリプションでデフォルトで有効になっています。
- GitLab Self-Managedの場合、管理者は高度な検索を有効にする必要があります。
高度な検索を使用するには:
- 左側のサイドバーで、検索または移動先を選択します。
- 検索ボックスに検索語句を入力します。
プロジェクトまたはグループで高度な検索を使用することもできます。
使用可能なスコープ
スコープは、検索するデータの種類を示します。高度な検索では、次のスコープを利用できます:
| スコープ | グローバル12 | グループ | プロジェクト |
|---|---|---|---|
| コード | 対応 | 対応 | 対応 |
| コメント | 対応 | 対応 | 対応 |
| コミット | 対応 | 対応 | 対応 |
| エピック | 対応 | 対応 | 非対応 |
| イシュー | 対応 | 対応 | 対応 |
| マージリクエスト | 対応 | 対応 | 対応 |
| マイルストーン | 対応 | 対応 | 対応 |
| プロジェクト | 対応 | 対応 | 非対応 |
| ユーザー | 対応 | 対応 | 対応 |
| Wiki | 対応 | 対応 | 対応 |
Footnotes(補足説明):
- 管理者は、グローバル検索のスコープを無効にできます。GitLab Self-Managedでは、制限付きインデックス作成がデフォルトで有効になっている場合、グローバル検索は使用できません。管理者は、グローバル検索で制限付きインデックス作成を有効にできます。
- GitLab.comでは、コード、コミット、およびWikiに対してグローバル検索は有効になっていません。
構文
高度な検索では、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を参照してください。
検索クエリに、次のいずれの文字も使用しないでください:
. , : ; / ` ' = ? $ & ^ | < > ( ) { } [ ] @検索結果には、ファイル内で最初に一致した結果のみが表示されます。