検索

Bitbucket で検索を開始するには、サイドバーの Bitbucket アイコンの下にある虫眼鏡アイコンをクリックしてから、1 つの単語またはフレーズ全体 (二重引用符で囲む) を入力します。 

Bitbucket の任意の場所で検索を開始するキーボード ショートカットは "/" です。検索語はファイル パス、ファイル名、およびファイル内のあらゆるコンテンツと照合されます。 

Bitbucket の検索結果はコードを認識します。つまり、検索結果はランク付けされ、関数とタイプの定義が優先して表示されます。また、検索結果を絞り込みやすくするために演算子修飾子を使用することもできます。

検索範囲

検索範囲は、検索場所によって変わります。

検索コンテキスト検索範囲
アカウントユーザーやチームが所有している、またはアクセス可能なすべてのリポジトリ
リポジトリ個別のリポジトリおよびそれらのサブディレクトリ


自身のアクセス権に関連付けられていない公開リポジトリで検索するには、そのリポジトリに移動し、そこで検索します。

ファイルまたはパスの検索

ファイル名またはパスの一部を検索するだけで、ファイルを検索できます。検索で path を使用する場合、パス セグメントの完全一致のみがサポートされますが、修飾子を使用せずにファイル名の一部を使用して検索できます。以下の表の例を参照してくだい。

クエリ結果
package.jsonpackage.json という名前のファイルを見つける
package lock jsonpackagelock、および json を含むファイルを見つける (package-lock.json など)
package.json path:testtest を含むパスを持つ、package.json という名前のファイルを見つける
MyClassMyClass.java および MyClassTest.java のファイル名を見つける

フレーズ クエリ

フレーズ クエリを使用すると、特定の組み合わせで表示される複数の単語を検索できます。

フレーズを検索する場合、単語を引用符で囲みます。たとえば、abstractclass (または単語の一部) が続く一連の単語を含むフレーズを検索する場合、クエリは次のようになります。

"abstract class"

このクエリは " abstract(class " などのフレーズも検索します。

同じクエリでも二重引用符を使用しない場合は abstractclass の両方を任意の順序で含むファイルが返されます。

検索演算子

検索演算子を使用して検索結果を絞り込むことができます。

  • 演算子はすべて大文字にする必要があります。
  • 演算子を単独で使用することはできません。必ず検索語句と一緒に使用する必要があります。
  • 検索クエリで AND を使用することはできません。複数の検索語は暗黙的に組み合わせられます。たとえば、bitbucket jira のクエリは、bitbucket と cloud の両方を含むファイルのみが一致することを示します。 

次の検索演算子を利用できます。 

演算子
クエリ例
結果
なしbitbucket jirabitbucketjira という単語を任意の順序で含むファイルを返します。
NOTbitbucket NOT jirabitbucket を含み、jira を含まないファイルを返します。
-bitbucket -jira単語の前に使用します。bitbucket含みjira を含まないファイルを返します。


有効 ((tick)) および無効 ((error)) な検索構文の例:

有効性クエリ結果
(error)
MyClass AND MyComponent NOT "YourClass"
AND は有効な構文ではありません。複数の検索語は暗黙的に組み合わせられます。
(error)
NOT "YourClass"
                  
演算子を単独で使用することはできません。除外対象の前に一致すべき検索語を指定する必要があります。
(tick)
MyClass MyComponent NOT "YourClass"
MyClass および MyComponent という単語を含み、YourClass を含まないファイルを見つけます。

検索修飾子

修飾子を指定すると、検索結果を絞り込むことができます。

  • 修飾子は key:value の形式で使用します。 
  • 複数の修飾子を組み合わせることができます。以降の複数の修飾子を使用するセクションを参照してください
  • 修飾子は NOT 演算子を使用して否定できます – 上述の「検索演算子」セクションを参照してください。

次の検索修飾子を利用できます。

修飾子
クエリ例
結果
repo:<リポジトリの短縮名> <単語> 
              
repo:myrepo myClass

myrepo にある、MyClass という単語を含むファイルを照合します。

リポジトリ名ではワイルドカードはサポートされません。

リポジトリの既定のブランチのみが検索されます。

project:<プロジェクト キー> <単語>
project:MYPROJ jira
MYPROJ キーのプロジェクトで、jira という単語を含むファイルを照合します。
path:<directory|filename> <term>
path:src MyClass
パスが src と一致し、MyClass という単語を含むファイル
ext:<ファイル拡張子> <単語> 
ext:lhs jira

jira という単語を含む、.lhs 拡張子の Haskell ファイルを照合します。

lang:<言語> <単語>
lang:c jira

.c or .h 拡張子で jira という単語を含む C 言語のファイルを照合します。


パス修飾子

コード検索では、特定のパスのみを考慮するように制限することができます。検索では、ファイル パスはディレクトリとファイル名を含むセグメント (/ で区切られたパーツ) で分割されます。照合は 1 つ以上のセグメントで実行され、大文字と小文字を区別します。セグメント内での部分一致は行われません。

クエリ例結果
path:src MyClass
パスが src と一致し、MyClass という単語を含むファイル
path:/src MyClass
src から始まるパスを持ち、MyClass という単語を含むファイル
path:src/main MyClass
パスが src/main と一致し、MyClass という単語を含むファイル
path:src/*/module MyClass
src、および module 以外の任意の文字列と一致するパスを持ち、MyClass という単語を含むファイル
path:styles/*.css class
styles と一致するパスを持ち、拡張子が css で、class という単語を含むファイル。styles とファイル名の間には任意の数の他のセグメントが含まれる可能性があります。
MyClass NOT path:src
MyClass という単語を含み、src と一致しないパスを持つファイル

言語およびファイル拡張子の修飾子

コード検索では、特定の言語またはファイル拡張子のみを考慮するように制限することができます。一部の言語では、言語の条件をファイル拡張子の指定と同じように指定できます。たとえば、lang:java は ext:java に相当します。他の言語では、複数のファイル拡張子が 1 つの言語にマッピングされます。たとえば、.hs.lhs および .hs-boot ファイル拡張子は Haskell プログラミング言語で使用され、lang:haskell を指定した場合に照合されます。

ここで使用する 'language' は、リポジトリの言語設定には関係しません。

コード検索で認識されるすべての言語を表示するにはここをクリックします...
ada asp.net assembly c c++ c# clojure cobol cql css cython fortran go groovy haskell html java 
javascript json kotlin latex less lisp markdown mathematica matlab objective-c ocaml pascal perl php plain plsql properties python r ruby rust sas scala scss shell sieve soy sql swift velocity xml yaml


複数の修飾子を使用する

修飾子はタイプに応じて暗黙的に組み合わせられるため、演算子と修飾子を一緒に使用する必要はありません。検索クエリで複数の検索修飾子を使用する場合は次の点に注意します。

  • 同じ種類の検索修飾子は暗黙的に組み合わせられます。
  • 異なる種類の検索修飾子は暗黙的に組み合わせられます。 
  • 検索修飾子は、検索式全体に適用されます。

たとえば、repo A または repo B にあり、"search-term" というフレーズを含み、.js または .jsx 拡張子を持つファイルを検索するクエリは次のようになります。

repo:A repo:B ext:js ext:jsx search-term


有効 ((tick)) および無効 ((error)) な検索構文の例:

有効性クエリ結果
(tick) ext:js project:myProject MyComponent js 拡張子を持ち、myProject プロジェクトに含まれ、 MyComponent という単語を含むファイルを検索します
(tick)
MyClass NOT repo:test

MyClass という単語を含むすべてのファイル (test リポジトリを除く) を検索します

(tick)
MyClass -ext:java

MyClass という単語を含むすべてのファイル (java ファイルを除く) を検索します

(error)ext:js AND project:myProject MyComponentAND は有効な構文ではありません。複数の検索語は暗黙的に組み合わせられます。
(tick)ext:js NOT project:myProject MyComponentjs 拡張子を持ち、myProject 以外の任意のプロジェクトに含まれ、MyComponent という単語を含むファイルを検索します。
(tick)ext:js ext:java MyComponent
js または java の拡張子を持ちMyComponent という単語を含むファイルを見つけます。


コード検索の考慮事項

検索の実行方法については、いくつかの考慮事項があります。

  • 検索ではリポジトリのメイン ブランチが使用されます (通常、メイン ブランチは master になります)。
  • 320 KB 未満のファイルはインデックスされます – 大きなファイルからの検索結果は表示されません。
  • Wildcard searches (e.g. qu?ck buil*) are not supported.
  • 次の文字は検索語から削除されます。 !"#$%&'()*+,/;:<=>?@[\]^`{|}~-  
  • 正規表現はクエリではサポートされません。
  • 大文字と小文字は区別されません (ただし、検索演算子はすべて大文字にする必要があります)。
  • クエリには最大で 9 つの式 (例: 単語と演算子の組み合わせ) を設定できます。
  • クエリの長さは、最大 250 文字です。
  • 検索結果には、閲覧権限を持つコードのみが表示されます。

最終更新日 2018 年 11 月 20 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.