Finding the right issue just got easier. First introduced in public preview in January and expanded to the Issues dashboard in February, improved search for GitHub Issues is now generally available. By indexing issue titles and bodies, this search lets you find issues by meaning, not just keywords.

Since public preview, the results have spoken for themselves. Not only have users had greater success in finding what they need, but when they are able to search successfully, that desired result is in the top three issues shown 75% of the time, compared to 66% with traditional search. With the release to general availability, you can now also access this search through the API.

What’s included in this release

  • Natural language search across issues: Describe what you’re looking for in plain language and GitHub returns conceptually related results, even when the wording doesn’t match.
  • Issues index and dashboard: Semantic search works both within a single repository and across your repositories on the issues dashboard.
  • Hybrid search: When you search with natural language, GitHub combines semantic and keyword matching in the same query, so you get both conceptually related results and exact matches together. Searches using only filters or quotation marks use traditional lexical search for precision.
  • Best match sorting: Results are ordered by relevance by default, surfacing the most useful issues first.
  • API access: Semantic search is now available through the REST and GraphQL APIs, so you can integrate it into your own tools and workflows.

API details

Use the existing /search/issues endpoint with search_type=semantic or search_type=hybrid. The response tells you which search was performed and, if a fallback to lexical occurred, why. If you do not specify a search type, a lexical search will be performed by default.

You can scope your queries with org:, user:, and repo: qualifiers. Semantic and hybrid queries are rate limited to 10 requests per minute. Standard lexical searches retain existing rate limits.

If you are accessing search via GraphQL, you can use the searchType argument on the search query with SEMANTIC or HYBRID.

See the REST and GraphQL documentation for full details.

Share your feedback in the GitHub Community.

Other improvements to GitHub Issues

  • The issue template editor now preserves the Type field when editing templates from the UI.
  • When using filters in issues search, tagging assignees with @ in front of their handle now works as expected.
  • Comma-separated repo:, org:, and user: qualifiers no longer return errors on the Issues dashboard.
  • Mermaid diagrams inside collapsed blocks now render correctly.