# oracle/opengrok

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/oracle-opengrok).**

4,868 stars · 819 forks · Java · NOASSERTION

## Links

- GitHub: https://github.com/oracle/opengrok
- Homepage: http://oracle.github.io/opengrok/
- awesome-repositories: https://awesome-repositories.com/repository/oracle-opengrok.md

## Topics

`code` `engine` `java` `maven` `opengrok` `search` `source`

## Description

OpenGrok is a Java-based source code search engine and indexer designed to process large source trees and binaries into a searchable index. It functions as a version control browser, allowing for the exploration and searching of revision histories integrated with version control systems.

The system provides symbol-based cross-referencing to link code definitions and usages, enabling navigation across a codebase. It utilizes an inverted-index search engine to perform full-text retrieval of source code.

The application supports periodic source synchronization and reindexing to keep local data current. Deployment is supported through container images to maintain consistent environments across hosting platforms.

## Tags

### DevOps & Infrastructure

- [Code Search Tools](https://awesome-repositories.com/f/devops-infrastructure/version-control-management/version-control-utilities/code-search-tools.md) — Provides a high-performance engine for searching through massive source trees and version control histories.

### Data & Databases

- [Full-Text Search Engines](https://awesome-repositories.com/f/data-databases/full-text-search-engines.md) — Implements a high-performance system for indexing and retrieving text-based content across massive source trees. ([source](https://cdn.jsdelivr.net/gh/oracle/opengrok@master/README.md))
- [Full-Text Inverted Indexes](https://awesome-repositories.com/f/data-databases/index-construction/full-text-inverted-indexes.md) — Implements inverted indexes that map words to locations to enable efficient full-text retrieval of source code.
- [Source Code Indexing](https://awesome-repositories.com/f/data-databases/repository-indexing-pipelines/source-code-indexing.md) — Processes source code, plain files, and binaries from multiple repositories into a searchable data structure. ([source](https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok))
- [Index Reindexing](https://awesome-repositories.com/f/data-databases/elasticsearch-data-migration/index-reindexing.md) — Provides a periodic process to update local source data and reindex the search index for consistency. ([source](https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok))

### Development Tools & Productivity

- [Code Navigation Tools](https://awesome-repositories.com/f/development-tools-productivity/code-navigation-tools.md) — Offers utilities for searching and traversing source code references and definitions to understand codebase interactions.
- [Codebase Indexing](https://awesome-repositories.com/f/development-tools-productivity/codebase-indexing.md) — Processes multiple repositories and binary files into a searchable index for efficient browsing and discovery.
- [Version Control Browsers](https://awesome-repositories.com/f/development-tools-productivity/git-repository-integrators/version-control-browsers.md) — Provides an interface for navigating and searching through commits and revision history integrated with version control.
- [Automatic Index Synchronization](https://awesome-repositories.com/f/development-tools-productivity/repository-synchronization/automatic-index-synchronization.md) — Includes automated processes for keeping the search index current by monitoring source repositories for changes.
- [Source Code Indexing](https://awesome-repositories.com/f/development-tools-productivity/source-code-indexing.md) — Scans source files and binaries from multiple repositories to generate a searchable catalog of definitions.
- [Source Code Search Engines](https://awesome-repositories.com/f/development-tools-productivity/source-code-search-engines.md) — Serves as a Java-based search engine for locating programming code snippets and technical implementations in large source trees.
- [Source Cross-References](https://awesome-repositories.com/f/development-tools-productivity/source-cross-references.md) — Generates hyperlinked maps between identifiers and their declarations to enable rapid navigation across a codebase.
- [Version Control Integrations](https://awesome-repositories.com/f/development-tools-productivity/version-control-integrations.md) — Integrates with version control systems to allow browsing and searching through project revision histories.

### Software Engineering & Architecture

- [Symbol-Based Referencing](https://awesome-repositories.com/f/software-engineering-architecture/architecture-element-referencing/symbol-based-referencing.md) — Analyzes source code to create a map of definitions and usages for navigating between related code elements.
- [Code Definition Linking](https://awesome-repositories.com/f/software-engineering-architecture/cross-project-element-referencing/code-definition-linking.md) — Analyzes file formats to link definitions to usages for rapid navigation between related code elements. ([source](https://cdn.jsdelivr.net/gh/oracle/opengrok@master/README.md))
- [Version History Browsers](https://awesome-repositories.com/f/software-engineering-architecture/version-history-viewers/document-versioning/version-history-browsers.md) — Provides tools for navigating and comparing past versions of source code and metadata from version control systems. ([source](https://github.com/oracle/opengrok/wiki))

### Programming Languages & Runtimes

- [Java Virtual Machine Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/language-runtimes/java-virtual-machine-runtimes.md) — Executes indexing and search logic on the Java Virtual Machine for cross-platform compatibility and memory management.
