# marian **Repository Path**: mirrors_mongodb/marian ## Basic Information - **Project Name**: marian - **Description**: A search engine focused on documentation. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: staging - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-09 - **Last Updated**: 2025-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Marian Marian is an HTTP full text search service. ## Running Marian ### Prerequisites You will need Node.js v8.0 or later. ### ### Launching the Marian Server ``` npm install MAX_WORKERS=2 node ./src/index.js [MANIFEST_SOURCE] ``` Marian will then read the manifest directory given in `MANIFEST_SOURCE`, and begin listening to requests on port 8080. ### Manifest Source Marian requires a manifest source directory. This may either be a local path, or an Amazon S3 path. For example, `dir:./manifests/` or `bucket:docs-mongodb-org-prod/search-indexes/`. The path must contain only JSON files having the following JSON schema: ``` { "$id": "http://example.com/example.json", "type": "object", "definitions": {}, "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "url": { "$id": "/properties/url", "type": "string", "title": "The Url Schema ", "default": "" }, "includeInGlobalSearch": { "$id": "/properties/includeInGlobalSearch", "type": "boolean", "title": "The Includeinglobalsearch Schema ", "default": false }, "aliases": { "$id": "/properties/aliases", "type": "array" }, "documents": { "$id": "/properties/documents", "type": "array", "items": { "$id": "/properties/documents/items", "type": "object", "properties": { "slug": { "$id": "/properties/documents/items/properties/slug", "type": "string", "title": "The Slug Schema ", "default": "" }, "title": { "$id": "/properties/documents/items/properties/title", "type": "string", "title": "The Title Schema ", "default": "" }, "headings": { "$id": "/properties/documents/items/properties/headings", "type": "array", "items": { "$id": "/properties/documents/items/properties/headings/items", "type": "string", "title": "The 0th Schema ", "default": "" } }, "text": { "$id": "/properties/documents/items/properties/text", "type": "string", "title": "The Text Schema ", "default": "" }, "preview": { "$id": "/properties/documents/items/properties/preview", "type": "string", "title": "The Preview Schema ", "default": "", }, "tags": { "$id": "/properties/documents/items/properties/tags", "type": "string", "title": "The Tags Schema ", "default": "" }, "links": { "$id": "/properties/documents/items/properties/links", "type": "array", "items": { "$id": "/properties/documents/items/properties/links/items", "type": "string", "title": "The 0th Schema ", "default": "" } } } } } } } ``` ## Marian REST API ``` GET /search?q=[&searchProperty=] Returns search results. For example, see https://marian.mongodb.com/search?q=aggregation%20pipeline GET /status Returns a status document POST /refresh When this endpoint is POSTed, Marian will rescan the manifest source directory. ```