Google ソースコード検索について
よくある質問
- どのような種類のコードがクロールされますか。
- ソースコード検索ではどのような正規表現のシンタックスがサポートされますか。
- どのプログラミング言語がサポートされますか。
- 言語、ライセンス、ファイル名で絞り込むにはどうすればよいですか。
- Google ソースコード検索の結果を自分のウェブサイト、IDE、アプリケーションに追加できますか。
- コードのソフトウェア ライセンスはどのように決定されますか。
- Google ソースコード検索の結果に自分のコードが表示されるようにするにはどうすればよいですか。
- 自分のコード ファイルに、正しい言語とライセンスが使われているかどうかを確認するにはどうすればよいですか?
- 自分のコードがクロールされないようにするにはどうすればよいですか。
- サービス向上に関する提案は、 どこに連絡すればよいですか。
- ソースコード検索で削除する必要があると思われる結果がある場合、Google に知らせるにはどうすればよいですか。
- 利用規約を知りたいのですが。
Google ソースコード検索では、インターネット上に公開されているソースコードを検索して、関数の定義やサンプル コードを探すことができます。 Google ソースコード検索には次のような使い方があります。
- 正規表現を使って的確な検索結果を得る
- 言語、ライセンス、ファイル名を指定して検索を絞り込む
- パッケージ全体や掲載元ウェブページへのリンクが付いたソース ファイルを見る
1. どのような種類のコードがクロールされますか。
Google では、アーカイブ (.tar.gz、.tar.bz2、.tar、.zip)、CVS リポジトリ、サブバージョン リポジトリなど、可能な限りの公開ソースコードをクロールしています。
2. ソースコード検索ではどのような正規表現のシンタックスがサポートされますか。
Google ソースコード検索では、POSIX 拡張正規表現のシンタックスをサポートしています。ただし、後方参照、照合要素、照合クラスはサポートされません。 空白文字を検索する場合は、hello,\ world のようにバックスラッシュでエスケープします。 文字列を検索する場合は、"hello, world" のように文字列を引用符で囲みます。
また、次の Perl 拡張もサポートされます。
\w |
文字に一致 (英数字 + "_") |
\W |
文字以外に一致 |
\s |
空白文字に一致 |
\S |
空白文字以外に一致 |
\d |
数字に一致 |
\D |
数字以外に一致 |
3. どのプログラミング言語がサポートされますか。
[ソースコード検索オプション] ページに検索可能なプログラミング言語のリストが記載されていますが、 リストにない言語で記述されたコードを検索することもできます。 ソースコード検索では、言語を検出できないコードも含め、できる限り多くのコードを検索できるようになっています。 ファイルのプログラミング言語を検出できた場合は検索結果に表示され、その言語で記述されたコードに検索を絞り込むことができます。
言語を検出できなかった場合は、file: 演算子を使用して特定の拡張子のファイルを検索できます。 たとえば、拡張子が .x または .abc のファイルを検索する場合は、「myquery file:\.(x|abc)$」のようにクエリを指定します。 重要と思われる言語が検出されていない場合は、Google までお知らせください。
4. 言語、ライセンス、ファイル名で絞り込むにはどうすればよいですか。
[ソースコード検索オプション] ページまたは Google の演算子を使用して、検索を絞り込むことができます。 Google の演算子には次のものがあります。
lang: 演算子: プログラミング言語で検索を絞り込みます (例: lang:"c++"、-lang:java、lang:^(c|c#|c\+\+)$)
license: 演算子: ソフトウェア ライセンスで検索を絞り込みます (例: license:apache、-license:gpl、license:bsd|mit)
package: 演算子: パッケージ URL で検索を絞り込みます (例: package:"www.kernel.org"、package:\.tgz$)
file: 演算子: ファイル名で検索を絞り込みます (例: file:include/linux/$、-file:\.cc$)
演算子の引数には、引用符で囲んだ文字列または正規表現を使用できます。 上の例にあるように、演算子の前にマイナス記号 (-) を付けると、除外演算子として使用できます。
5. Google ソースコード検索の結果を自分のウェブサイト、IDE、アプリケーションに追加できますか。
はい。 ソースコード検索の結果は GData/XML フィードで取得できます。IDE プラグインを作成したり、サイトに Google ソースコード検索を追加する際にお役立てください。
6. コードのソフトウェア ライセンスはどのように決定されますか。
コード パッケージのソフトウェア ライセンスは、コメントまたは別のライセンス ファイルに記載されているライセンス情報 (LICENSE、LICENCE、COPYRIGHT、COPYING など) から特定しています。 ライセンスを検出できない場合は、"不明" なライセンスとして表示します。ライセンスの検出は完全なものではなく、コードの作成者が示すライセンスを表示できるよう努めていますが、検出に失敗することもあれば、作成者が誤ったライセンスを提示していることもあります。 また、ソースコード検索の結果から、ソフトウェアに適用されている特許を確認することはできません。 ライセンス規約についても可能な範囲で表示していますが、コードの再利用に際してはご自身の責任のもとで法規定をご確認ください。
7. Google ソースコード検索の結果に自分のコードが表示されるようにするにはどうすればよいですか。
オンライン フォームを使用して、コードを送信してください。 多数のコードを送信する場合は、ソースコード検索サイトマップを作成してください。ご自身のサイトのすべてのコード ファイルを指定する方法が確認できます。 送信されたすべてのコードが Google のインデックスに追加されるわけではなく、特定のコードが表示されるかどうか、またいつ表示されるかについての予測や保証はいたしかねますのでご了承ください。
8. 自分のコード ファイルに、正しい言語とライセンスが使われているかどうかを確認するにはどうすればよいですか?
packagemap ファイルを作成して、パッケージ内の各ファイルの言語とライセンスを指定できます。 packagemap XML 形式 を使用してファイルを作成し、そのファイルをコードのアーカイブの最上位ディレクトリに置きます。
9. 自分のコードがクロールされないようにするにはどうすればよいですか。
Google ソースコード検索では robots.txt を採用しているため、下記の方法でコードがクロールされないようにできます。
- ご利用ウェブ サーバーのロボット ファイルにアクセスできる場合は、
Disallow: 行にコードのパスを追加します。 詳細
- または、コード パッケージのルート ディレクトリにロボット ファイルを置きます。 この方法では、アーカイブ、CVS、 サブバージョンなどのソース管理リポジトリも対象となります。 たとえば、コードが完全にクロールされないようにするには、次の行を記載した
robots.txt ファイルをルート ディレクトリに置きます。
User-agent: *
Disallow: /
ソースコード検索では、インデックスの更新やコードの削除に時間がかかる場合がありますのでご了承ください。 緊急を要するリクエストがある場合は、codesearch-issues+jp@google.com までメールでご連絡ください。
10. サービス向上に関する提案は、 どこに連絡すればよいですか。
ご意見やご要望がありましたら、Google グループに投稿してください。 Google ソースコード検索は Google Labs の提供する、まだ開発初期段階のプログラムです。 皆さまからの貴重なご意見は、Google ソースコード検索の改善に役立たせていただきます。
11. ソースコード検索で不適切な結果を見つけました。Google に知らせるにはどうすればよいですか。
Google ソースコード検索は Google Labs の試験段階にあり、検索結果は完全なものではありません。 検索結果に重大な問題を見つけた場合は、codesearch-issues+jp@google.com までメールでご連絡ください。 ご自身の著作権を侵害するような検索結果がありましたら、Google の DMCA 手続きに従って削除を申し立ててください。
12. 利用規約を知りたいのですが。
Google ソースコード利用規約については、こちらをご覧ください。