{"id":21994443,"url":"https://github.com/codelibs/gitbucket-fess-plugin","last_synced_at":"2025-04-30T16:48:08.949Z","repository":{"id":48167414,"uuid":"65686229","full_name":"codelibs/gitbucket-fess-plugin","owner":"codelibs","description":"GitBucket plugin for Fess","archived":false,"fork":false,"pushed_at":"2022-07-22T22:16:44.000Z","size":2180,"stargazers_count":22,"open_issues_count":9,"forks_count":11,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-30T18:04:24.883Z","etag":null,"topics":["gitbucket","gitbucket-plugin"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codelibs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-14T21:01:20.000Z","updated_at":"2025-02-01T03:29:13.000Z","dependencies_parsed_at":"2022-08-24T17:40:20.708Z","dependency_job_id":null,"html_url":"https://github.com/codelibs/gitbucket-fess-plugin","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelibs%2Fgitbucket-fess-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelibs%2Fgitbucket-fess-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelibs%2Fgitbucket-fess-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelibs%2Fgitbucket-fess-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codelibs","download_url":"https://codeload.github.com/codelibs/gitbucket-fess-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251748011,"owners_count":21637408,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gitbucket","gitbucket-plugin"],"created_at":"2024-11-29T21:08:55.883Z","updated_at":"2025-04-30T16:48:08.931Z","avatar_url":"https://github.com/codelibs.png","language":"Scala","readme":"gitbucket-fess-plugin: Search All of GitBucket on Fess\n==\n\n[**gitbucket-fess-plugin**](https://github.com/codelibs/gitbucket-fess-plugin) is a [**GitBucket**](https://gitbucket.github.io) plugin that provides **global search**, that is, search across multiple repositories.\n\nUsers can search for:\n* **Code** in all public repositories\n* **Code** in private repositories where you can access\n* **Issues** / **Pull requests**\n* **Wiki** pages\n\n![ScreenShot](images/demo.png)\n\nThis plugin cooperates with [**Fess**](https://github.com/codelibs/fess), which is a full-text search server powered by [**Elasticsearch**](https://www.elastic.co/products/elasticsearch).\nBut, special knowledge is NOT required to use both Fess and this plugin.\n\n![Overview](images/overview.png)\n\nWhy Fess?\n--\n* **open source** software provided under Apache license\n* **easy to deploy**\n* **powerful** search engine based on **Elasticsearch**\n* can index/search documents in **30+ languages**\n* supports **many file formats** (pdf, MS Office, etc.)\n\n\nLinks\n--\n* [Japanese Documentation](http://qiita.com/kw_udon/items/06d385b88dafed4bd609)\n\n# Release\n\nSee [Maven Repository](http://central.maven.org/maven2/org/codelibs/gitbucket/gitbucket-fess-plugin_2.13/).\n\n| Plugin version | GitBucket version | Fess version  |\n|:--------------:|:-----------------:|:-------------:|\n| 1.7.x          | 4.35 -            | 11.0.1 -, 12.x|\n| 1.6.x          | 4.34              | 11.0.1 -, 12.x|\n| 1.5.x          | 4.32 -            | 11.0.1 -, 12.x|\n| 1.4.x          | 4.24.1 -          | 11.0.1 -, 12.x|\n| 1.3.x          | 4.20 -            | 11.0.1 -, 12.x|\n| 1.2.x          | 4.15 -            | 11.0.1 -, 12.x|\n| 1.1.x          | 4.{11, 12, 13, 14}| 11.0.1 -, 12.x|\n| 1.0.0          | 4.10              | 11.0.1        |\n| 1.0.0-beta2    | 4.7               | 10.3          |\n| 1.0.0-beta1    | 4.6               | 10.3          |\n\n# Getting Started\n\n* [Installation](#installation)\n* [Setting Up](#setting-up)\n* [Private Repository Search](#private-repository-search)\n* [Continuous Crawl](#continuous-crawl)\n\n## Installation\nDownload `gitbucket-fess-plugin` jar file from [the release page](https://github.com/codelibs/gitbucket-fess-plugin/releases) and\nput it into `~/.gitbucket/plugins` (If the directory does not exist, create it by hand).\n\n## Setting Up\nAfter the installation, the admin user sets up both of GitBucket and Fess.\n\nThe flow of the setting is like the following:\n\n* [Step 1. Run GitBucket and Fess](#step-1-run-gitbucket-and-fess)\n* [Step 2. Generate Token for Crawler @GitBucket](#step-2-generate-token-for-crawler-gitbucket)\n* [Step 3. Set up Crawler @Fess](#step-3-set-up-crawler-fess)\n* [Step 4. Run Crawler @Fess](#step-4-run-crawler-fess)\n* [Step 5. Register Fess's URL @GitBucket](#step-5-register-fesss-url-gitbucket)\n\n### Step 1. Run GitBucket and Fess\nRun [GitBucket](https://gitbucket.github.io) and [Fess](https://github.com/codelibs/fess).\nIf you run the both applications on `localhost`, use different port numbers.\n\n#### Example\n##### GitBucket: `http://localhost:8080/gitbucket/`\n```bash\n$ java -jar gitbucket.war --port=8080 --prefix=gitbucket\n```\n\n##### Fess: `http://localhost:8081/fess/`\n```bash\n$ ./bin/fess -Dfess.port=8081 -Dfess.context.path=/fess/\n```\n\n\n### Step 2. Generate Token for Crawler @GitBucket\nAccess to `http://[GitBucket URL]/[User Name]/_application` as a GitBucket's admin user and generate an access token.\nThis token will be used by crawlers of Fess.\n\n![Generate GitBucket's token](images/step2.png)\n\n### Step 3. Set up Crawler @Fess\nAccess to `http://[Fess URL]/admin/dataconfig/` as a Fess's admin user and set up a data crawler.\n\nThen, fill each form as below:\n* Name: String\n* Handler Name: **GitBucketDataStore**\n* Parameter:\n```\nurl=http://[GitBucket URL]\ntoken=[GitBucket's Token generated in Step 2]\n```\nYou don't have to change other values.\n\n![GitBucketDataStore config](images/step3-1.png)\n\nAfter you create a configuration successfully, you can find it in `http://[Fess URL]/admin/dataconfig/`.\nThen, click it and create a new crawling job.\n\n![Create a new job](images/step3-2.png)\n\nYou can set up a crawling schedule here, but you can also change it later.\nThus, if you are new to Fess,　you don't need to change any value here.\n(For more details about scheduling, see [a later section](#continuous-crawl).)\n\n### Step 4. Run Crawler @Fess\nMove to `http://[Fess URL]/admin/scheduler/`.\nThen, you will find the job created in Step 3 on the top of the list.\nChoose and start it.\n\n![Start a crawler](images/step4-1.png)\n\nIf a crawler starts successfully, the status of the job scheduler becomes *Running* like the following:\n\n![Crawler is running](images/step4-2.png)\n\nCrawling process takes time, depending on a number of contents in GitBucket.\nFess stores codes on the default branch in each repository.\nAfter the crawling job finishes, you can search GitBucket's contents on Fess.\n\n### Step 5. Register Fess's URL @GitBucket\nThis is the final step.\nAccess to `http://[GitBucket URL]/fess/settings` as an admin user and register the URL of **Fess's top page**.\nNote that the following image uses the URL of Fess started with flags `-Dfess.port=8081 -Dfess.context.path=/fess/`.\n\nYou can also register a [Fess's access token](http://fess.codelibs.org/11.0/admin/accesstoken-guide.html) here.\nIt is required for private repository search, but you can leave this form empty now.\nFor more details, see [the next section](#private-repository-search).\n\n![Register a token](images/step5.png)\n\nThen, global search will be enabled!\n\n## Private Repository Search\nIf the admin user registers a [Fess's access token](http://fess.codelibs.org/11.0/admin/accesstoken-guide.html) at `http://[GitBucket URL]/fess/settings`,\nusers can explore their private repositories.\n\n**How to generate Fess's access token**\n\nAccess to `http://[Fess URL]/admin/accesstoken/` as an admin user and\nclick the `Create New` button.\n\nNext, fill in the form like the following:\n* Name: String\n* Permissions: empty\n* Parameter Name: **`permission`**\n\n![Generate a token on Fess](images/fess-access-token.png)\n\nThen, access token will be created.\n\n![Generated token](images/fess-generated-token.png)\n\n\n## Continuous Crawl\nBy setting up [job schedulers](http://fess.codelibs.org/11.0/admin/scheduler-guide.html) on Fess,\nyou can run data crawlers periodically to keep search results up to date.\n\nAccess to `http://[FessURL]/admin/scheduler/` and choose a crawler job.\nThen, you can setting up the value of `Schedule` in [Cron-format](https://en.wikipedia.org/wiki/Cron).\n\n# Development Information\n\n## Build\nYou need to [install sbt](http://www.scala-sbt.org/index.html) to build this plugin from source code.\n\n```bash\n$ sbt package\n```\n\n## Code Format\n```bash\n$ sbt scalafmt\n```\n\n# Contribution\nAny contribution will be appreciated!\nPlease send [issues](https://github.com/codelibs/gitbucket-fess-plugin/issues) or [pull requests](https://github.com/codelibs/gitbucket-fess-plugin/pulls).\n\n# For Maintainers\nIf you want to increment the version number, please update values in:\n* `build.sbt`\n* `src/main/scala/Plugin.scala`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelibs%2Fgitbucket-fess-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodelibs%2Fgitbucket-fess-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelibs%2Fgitbucket-fess-plugin/lists"}