{"id":13548896,"url":"https://github.com/fergiemcdowall/norch","last_synced_at":"2025-05-14T19:09:04.826Z","repository":{"id":62970220,"uuid":"10129505","full_name":"fergiemcdowall/norch","owner":"fergiemcdowall","description":"A search server that can be installed with npm","archived":false,"fork":false,"pushed_at":"2025-04-11T13:11:28.000Z","size":16891,"stargazers_count":655,"open_issues_count":5,"forks_count":45,"subscribers_count":35,"default_branch":"master","last_synced_at":"2025-04-25T08:03:50.839Z","etag":null,"topics":["search","search-algorithm","search-engine","searchbar"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/fergiemcdowall.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-05-17T18:30:55.000Z","updated_at":"2025-04-12T07:30:57.000Z","dependencies_parsed_at":"2024-09-09T14:03:36.293Z","dependency_job_id":"edb7c5e0-1478-4895-9b0a-a42508b81a5f","html_url":"https://github.com/fergiemcdowall/norch","commit_stats":{"total_commits":460,"total_committers":16,"mean_commits":28.75,"dds":0.1978260869565217,"last_synced_commit":"a800566d56c4e7a8e4031c278cf30516dc37da93"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fergiemcdowall%2Fnorch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fergiemcdowall%2Fnorch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fergiemcdowall%2Fnorch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fergiemcdowall%2Fnorch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fergiemcdowall","download_url":"https://codeload.github.com/fergiemcdowall/norch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252633584,"owners_count":21779890,"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":["search","search-algorithm","search-engine","searchbar"],"created_at":"2024-08-01T12:01:15.760Z","updated_at":"2025-05-14T19:09:03.919Z","avatar_url":"https://github.com/fergiemcdowall.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"[![NPM version][npm-version-image]][npm-url] [![NPM downloads][npm-downloads-image]][npm-url] [![MIT License][license-image]][license-url] [![Build Status][travis-image]][travis-url] [![Join the chat at https://gitter.im/fergiemcdowall/search-index](https://badges.gitter.im/fergiemcdowall/search-index.svg)](https://gitter.im/fergiemcdowall/search-index?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n\n```\n      ___           ___           ___           ___           ___      \n     /\\__\\         /\\  \\         /\\  \\         /\\  \\         /\\__\\     \n    /::|  |       /::\\  \\       /::\\  \\       /::\\  \\       /:/  /     \n   /:|:|  |      /:/\\:\\  \\     /:/\\:\\  \\     /:/\\:\\  \\     /:/__/      \n  /:/|:|  |__   /:/  \\:\\  \\   /::\\~\\:\\  \\   /:/  \\:\\  \\   /::\\  \\ ___  \n /:/ |:| /\\__\\ /:/__/ \\:\\__\\ /:/\\:\\ \\:\\__\\ /:/__/ \\:\\__\\ /:/\\:\\  /\\__\\ \n \\/__|:|/:/  / \\:\\  \\ /:/  / \\/_|::\\/:/  / \\:\\  \\  \\/__/ \\/__\\:\\/:/  / \n     |:/:/  /   \\:\\  /:/  /     |:|::/  /   \\:\\  \\            \\::/  /  \n     |::/  /     \\:\\/:/  /      |:|\\/__/     \\:\\  \\           /:/  /   \n     /:/  /       \\::/  /       |:|  |        \\:\\__\\         /:/  /    \n     \\/__/         \\/__/         \\|__|         \\/__/         \\/__/     \n\n```\n\n[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://dashboard.heroku.com/new?button-url=https%3A%2F%2Fgithub.com%2Ffergiemcdowall%2Fnorch\u0026template=https%3A%2F%2Fgithub.com%2Ffergiemcdowall%2Fnorch)\n\n`npm install norch` and then start with `norch`\n\nor programatically:\n\n```javascript\nrequire('norch')(options, function(err, norch) {\n  // Norch server started on http://localhost:3030 (or the specified host/port)\n})\n```\n\n**Put stuff in**\n\n`curl -X POST -d @myData.json http://localhost:3030/add`\n(where myData.json is a newline separated file of JSON objects)\n\n**Search for hits** ([uses `search-index's` API](https://github.com/fergiemcdowall/search-index/blob/master/docs/search.md))\n\n`http://localhost:3030/search?q={\"query\":[{\"AND\":{\"*\":[\"usa\"]}}]}`\n\n(`http://localhost:3030/search` returns everything)\n\n**Make autosuggest**\n\n`http://localhost:3030/matcher?q=usa`\n\n**Export, import, and replicate an index**\n\n```bash\n# create a snapshot on the server (available under /latestSnapshot)\ncurl -X POST http://localhost:3030/snapshot\n# get latest snapshot\ncurl -X GET http://anotherIndex:3030/latestSnapshot \u003e export.json\n# replicate an export file into a new index on another server\ncurl -X POST -d @export.json http://someOtherServer:3030/import\n```\n\n# API\n\n| Endpoint | Method | Response | Typical Use Case |\n| :--- | :--- | :--- | :--- |\n| [`/add`](docs/API.md#add) | `POST` | status code | Add documents to the index |\n| [`/availableFields`](docs/API.md#availablefields) | `GET` | stream | Discover the name of fields which can be searched in |\n| [`/buckets`](docs/API.md#buckets) | `GET` | stream | Aggregate documents on ranges of metadata |\n| [`/categorize`](docs/API.md#categorize) | `GET` | stream | Aggregate documents on single metadata values |\n| [`/concurrentAdd`](docs/API.md#concurrentadd) | `POST` | status code | For when more than one source is adding documents to the index at the same time |\n| [`/createSnapshot`](docs/API.md#createsnapshot) | `POST` | status code | Create a snapshot of the index |\n| [`/delete`](docs/API.md#delete) | `DELETE` | status code | Remove documents from index |\n| [`/docCount`](docs/API.md#doccount) | `GET` | object | Counts total document in index |\n| [`/flush`](docs/API.md#flush) | `DELETE` | status code | Remove all documents from index |\n| [`/get`](docs/API.md#get-1) | `GET` | stream | Get documents by ID |\n| [`/import`](docs/API.md#import) | `POST` | file | Import/merge an existing index into this one |\n| [`/latestSnapshot`](docs/API.md#latestsnapshot) | `GET` | file | Download the latest index snapshot |\n| [`/listSnapshots`](docs/API.md#listsnapshots) | `GET` | file | See list of snapshots |\n| [`/match`](docs/API.md#match) | `GET` | stream | Match by linguistic similarity- autosuggest, autocomplete |\n| [`/search`](docs/API.md#search) | `GET` | stream | Search in the index |\n| [`/totalHits`](docs/API.md#totalhits) | `GET` | object | Show number of hits that a given query returns |\n\nThe Norch API docs [are here](docs/API.md). Norch is essentially an http wrapper around [search-index](https://www.npmjs.com/package/search-index).\n\n# About Norch\n\nNorch.js is an experimental search engine built with\n[Node.js](http://nodejs.org/) and\n[search-index](https://github.com/fergiemcdowall/search-index)\nfeaturing, Full text search, Stopword removal, aggregation Matching\n(Autosuggest), Phrase search, Fielded search, Field weighting,\nRelevance weighting (tf-idf), Paging (offset and resultset length)\n\n# Logging\nOn Linux and OSX. Install `bunyan`, tail the log-file and pipe to bunyan.\n\nInstall bunyan:\n```console\nnpm install -g bunyan\n````\n\nTail log-file:\n\n```console\ntail -f log-info.log |bunyan\n````\n\n**Mailing list:** norchjs@googlegroups.com - subscribe by sending an email to norchjs+subscribe@googlegroups.com\n\n\n# License\n\nMIT, Copyright (c) 2013-16 Fergus McDowall\n\n\n[license-image]: http://img.shields.io/badge/license-MIT-blue.svg?style=flat\n[license-url]: https://github.com/fergiemcdowall/norch/blob/master/README.md#license\n\n[npm-url]: https://npmjs.org/package/norch\n[npm-version-image]: http://img.shields.io/npm/v/norch.svg?style=flat\n[npm-downloads-image]: http://img.shields.io/npm/dm/norch.svg?style=flat\n\n[travis-url]: http://travis-ci.org/fergiemcdowall/norch\n[travis-image]: http://img.shields.io/travis/fergiemcdowall/norch.svg?style=flat\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffergiemcdowall%2Fnorch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffergiemcdowall%2Fnorch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffergiemcdowall%2Fnorch/lists"}