GitHub har lenge jobbet med en ny løsning som skal gjøre det enklere og raskere å gjøre enkle eller avanserte søk på tvers av kodebaser (repoer).
![image: Sånn blir nye GitHub - nå kan du skrive deg på ventelista](https://www.kode24.no/images/77762802.jpg?imageId=77762802&x=0&y=0&cropw=100&croph=100&width=154&height=100&compression=80 640w, https://www.kode24.no/images/77762802.jpg?imageId=77762802&x=0&y=0&cropw=100&croph=100&width=245&height=158&compression=80 1024w, https://www.kode24.no/images/77762802.jpg?imageId=77762802&x=0&y=0&cropw=100&croph=100&width=308&height=200&compression=70 320w)
Sånn blir nye GitHub - nå kan du skrive deg på ventelista
Nå er den nye søkeløsningen endelig tilgjengelig for alle GitHub-brukere, skriver GitHub i en bloggpost.
– Målet med det nye kodesøket og kodevisningen er å gjøre utviklere i stand til å raskt søke, navigere i og forstå koden sin, sette kritisk informasjon i kontekst, og til syvende og sist gjøre utviklerne mer produktive, skriver GitHubs Colin Merkel i bloggposten.
Ny måte å vise kode på
Det er ikke bare selve søket som har blitt nytt, GitHub har også redesignet brukergrensesnittet for søk, og du har fått blant annet autofullføring og forslag i søkefeltet.
I tillegg har måten kode vises på blitt redesignet, slik at søk og navigering i kode har blitt integrert på en bedre måte i ett skjermbilde.
Du har ellers fått en Google-lignende søkestartskjerm på github.com/search.
![Startskjermen for GitHub-søket. I tillegg har du alltid et søkefelt tilgjengelig øverst til venstre uansett hvor du er på GitHub. Startskjermen for GitHub-søket. I tillegg har du alltid et søkefelt tilgjengelig øverst til venstre uansett hvor du er på GitHub.](https://www.kode24.no/images/79247471.jpg?imageId=79247471&x=0&y=0&cropw=100&croph=100&width=644&height=406)
Det nye kodesøket gir deg mulighet til å søke globalt på tvers av alt som ligger på GitHub, eller snevre inn søket til å gjelde for eksempel et bestemt repo, organisasjon eller bruker.
![Du kan begrense søket til et bestemt repo, bruker eller organisasjon. Du kan begrense søket til et bestemt repo, bruker eller organisasjon.](https://www.kode24.no/images/79247473.jpg?imageId=79247473&x=0&y=0&cropw=100&croph=100&width=644&height=351)
Du kan også søke etter for eksempel repoer som har mer enn et bestemt antall stjerner, filtrere og sortere resultatene etter for eksempel programmeringsspråk, antall interaksjoner eller kommentarer, og mye annet.
I skjermbildet for søkeresultater kan klikke på kodesnuttene søket har funnet for deg for å gå direkte til den aktuelle filen, der du igjen har nye filtrerings- og søkemuligheter.
![image: Vi har prøvd Copilot CLI: – Perfekt for meg som aldri husker kommandoer!](https://www.kode24.no/images/79185751.jpg?imageId=79185751&x=0&y=0&cropw=100&croph=100&width=154&height=103&compression=80 640w, https://www.kode24.no/images/79185751.jpg?imageId=79185751&x=0&y=0&cropw=100&croph=100&width=245&height=164&compression=80 1024w, https://www.kode24.no/images/79185751.jpg?imageId=79185751&x=0&y=0&cropw=100&croph=100&width=616&height=412&compression=70 320w)
Vi har prøvd Copilot CLI: – Perfekt for meg som aldri husker kommandoer!
Indekserer all GitHub-kode
The Register skriver at GitHub i starten brukte Apache Solr til å håndtere kodesøk, men at de i 2013 bygde en ny søketjeneste basert på Elasticsearch. Den var imidlertid ikke bra nok.
To år etter at Microsoft overtok GitHub, i 2020, begynte arbeidet med det som skulle bli en enda bedre og raskere søkemotor – kodenavn "Blackbird".
«Søkemotoren er spesiallaget for å håndtere kode, i motsetning til mer generelle søkemotorer for tekst.»
Oppgaven har vært formidabel, ifølge GitHub. Da Elasticsearch-søkemotoren ble rullet ut tok det flere måneder å indeksere all kildekoden. Den gangen hadde GitHub rundt 8 millioner repoer, i dag er det mer enn 200 millioner. De måtte derfor finne en mer effektiv måte å indeksere og holde indeksene oppdatert på.
Til slutt klarte GitHub faktisk å indeksere 45 millioner repoer som var i den første betaen av søketjenesten på bare 18 timer.
Skrevet i Rust
Hele søkemotoren er skrevet fra bunnen av i Rust, og er spesiallaget for å håndtere kode, i motsetning til mer generelle søkemotorer for tekst.
Resultatet er en søkemotor som er rundt dobbelt så rask som den gamle, i tillegg til at den har mange flere muligheter.
GitHub har laget en detaljert gjennomgang av teknologien bak den nye søkemotoren her.
![image: Derfor velger de Rust: - JavaScript brukte minutter, Rust brukte sekunder](https://www.kode24.no/images/78358298.jpg?imageId=78358298&x=0&y=0&cropw=100&croph=100&width=154&height=87&compression=80 640w, https://www.kode24.no/images/78358298.jpg?imageId=78358298&x=0&y=0&cropw=100&croph=100&width=245&height=138&compression=80 1024w, https://www.kode24.no/images/78358298.jpg?imageId=78358298&x=0&y=0&cropw=100&croph=100&width=616&height=348&compression=70 320w)