高度な検索
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 を返します。 |