Google Code Search était un produit bêta gratuit de Google qui a fait ses débuts dans Google Labs le 5 octobre 2006, permettant aux utilisateurs Web de rechercher du code open source sur Internet. Les fonctionnalités comprenaient la possibilité de rechercher à l'aide d'opérateurs, à savoir lang: , package: , license: et file: .
Le code disponible pour la recherche était dans divers formats, notamment tar.gz, .tar.bz2, .tar et .zip, les référentiels CVS , Subversion , git et Mercurial .
Google Code Search couvre de nombreux projets open source et est donc différent de la « Recherche de code pour les projets open source de Google » qui a été publiée par la suite.
Moteur d'expression régulière
Le site permettait l'utilisation d' expressions régulières dans les requêtes, ce qui n'était proposé à l'époque par aucun autre moteur de recherche de code. Cela le fait ressembler à grep , mais sur le code public mondial. La méthodologie employée, parfois appelée recherche par trigramme , combine un index de trigrammes avec un moteur d'expressions régulières personnalisé et résistant au déni de service .
En mars 2010, le code de RE2 , le moteur d'expressions régulières utilisé dans Google Code Search, a été rendu open source.
La recherche de code Google prend en charge la syntaxe d'expression régulière étendue POSIX, à l'exclusion des références arrière, des éléments de classement et des classes de classement.
Les langues non officiellement prises en charge peuvent être recherchées à l'aide de l'opérateur file : pour faire correspondre les extensions de fichier courantes pour la langue.
Arrêt
En octobre 2011, Google a annoncé que Code Search allait être fermé ainsi que l'API Code Search. Le service est resté en ligne jusqu'en mars 2013, et il renvoie désormais une erreur 404 .
En janvier 2012, le développeur de Google Russ Cox a publié un aperçu de l'historique et des aspects techniques de l'outil, et a ouvert le code source d'une implémentation de base d'une fonctionnalité similaire sous la forme d'un ensemble de programmes autonomes capables d'exécuter des recherches rapides d'expressions régulières indexées sur du code local.