{"id":14956637,"url":"https://github.com/mongodb/docs-search-transport","last_synced_at":"2025-11-11T21:03:16.986Z","repository":{"id":38298363,"uuid":"347998216","full_name":"mongodb/docs-search-transport","owner":"mongodb","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-06T19:49:37.000Z","size":494,"stargazers_count":7,"open_issues_count":6,"forks_count":7,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-08-06T21:16:11.645Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mongodb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-03-15T14:18:46.000Z","updated_at":"2025-08-06T19:49:40.000Z","dependencies_parsed_at":"2023-12-07T20:24:24.791Z","dependency_job_id":"2cd3afc0-c28c-4266-8ebd-e6bc6c4032ac","html_url":"https://github.com/mongodb/docs-search-transport","commit_stats":{"total_commits":142,"total_committers":16,"mean_commits":8.875,"dds":0.676056338028169,"last_synced_commit":"9e68e9491496fdf7be382168fe0e05ee7741d42f"},"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"purl":"pkg:github/mongodb/docs-search-transport","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongodb%2Fdocs-search-transport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongodb%2Fdocs-search-transport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongodb%2Fdocs-search-transport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongodb%2Fdocs-search-transport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mongodb","download_url":"https://codeload.github.com/mongodb/docs-search-transport/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongodb%2Fdocs-search-transport/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017499,"owners_count":26086084,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-09-24T13:13:15.786Z","updated_at":"2025-10-14T01:34:34.036Z","avatar_url":"https://github.com/mongodb.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MongoDB Documentation Search Indexer \u0026 Query Server\n\nREST server that indexes search documents within an Atlas cluster and handles user search requests, deployed via Kanopy\n\n## Components\n\n### Marian Server\nREST server that exposes endpoints to run queries against Atlas DB.\n\n### Atlas Admin Manager\nModule to invoke Atlas Admin commands via the [Atlas Admin API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/), specifically manages the Atlas Search Index for Search DB.\n\n### Search Index\nService to read and write from Atlas DB. Transports input manifest documents into Atlas DB. Also reads DB results for server requests and returns formatted responses.\n\n### Query\nQuery class that builds aggregation operations based off request query parameters.\n\n## Installation\n\n```shell\nnpm install\n```\n\nCreate a .env file and copy over the contents of `sample.env`. Some values may have to be added or replaced.\nIf adding a new environment variable, please add the name and a sample value to the `sample.env`.\n\n## Running locally\n\n```shell\n$ npm run build\n$ npm run search-transport\n```\n\nThe server will be running on port 8080. To make a query, make a request to `localhost:8080/search?q=\u003cyour query here\u003e` using the browser, Postman, etc.\n\nAvailable query parameters:\n- (required) `q` - string to be queried (e.g. `findbyidandupdate`)\n- (optional) `searchProperty` - which docs property the query should be refined by (e.g. `manual`)\n- (optional) `page` - which page of results to display (e.g. `2`)\n- (optional) `facets.target_product\u003eproduct\u003esub_product` or `facets.target_product` - a list of selected facets/subfacets\n\nA request might look like `http://localhost:8080/search/?q=filter\u0026facets.target_product=atlas\u0026facets.target_product\u003eatlas\u003esub_product=atlas-app-services`.\n\nA node debugger (ie. [chrome developer tools](https://nodejs.org/en/docs/guides/debugging-getting-started/#inspector-clients)) can be connected to the built JS files.\n\n## Staging\nAll commits pushed to a branch with branchname `DOP-*` will be deployed to the dev instance of search transport.\nThe dev instance is viewable at https://docs-search-transport-dev.docs.staging.corp.mongodb.com/status\n\nAll commits merged to `main` deploy via Kanopy to a staging instance. \nThe staging instance is viewable at https://docs-search-transport.docs.staging.corp.mongodb.com/status. \n\n## Releasing\nNew release tags automatically begin deployment via Kanopy to production instances.\n\nCutting a release with a new tag via the [Github UI](https://github.com/mongodb/docs-search-transport/releases/new) is the recommended method of deploying to production. As a matter of practice, release tags should be cut from `main`.\n\n## Testing\n\nTests can be run using:\n\n```shell\nnpm test  # alias for npm run test\n```\n\n### Unit tests\n\nTests are located in the `tests` directory, and run via `mocha`.\n\n```shell\nnpm run test\n```\n\n## Linting \u0026 Style\n\nWe use [ESLint](https://eslint.org) and [Prettier](https://prettier.io) to help with linting and style.\n\n### Lint\n\n```shell\nnpm run lint:fix\n```\n\n### Style\n\nTo format code using Prettier, run the following command:\n\n```shell\nnpm run format:fix\n```\n\nWe have set up a precommit hook that will format staged files. Prettier also offers a variety of editor integrations to automatically format your code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmongodb%2Fdocs-search-transport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmongodb%2Fdocs-search-transport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmongodb%2Fdocs-search-transport/lists"}