___ ___ ___ ___ ___ /\__\ /\ \ /\ \ /\ \ /\__\ /::| | /::\ \ /::\ \ /::\ \ /:/ / /:|:| | /:/\:\ \ /:/\:\ \ /:/\:\ \ /:/__/ /:/|:| |__ /:/ \:\ \ /::\~\:\ \ /:/ \:\ \ /::\ \ ___ /:/ |:| /\__\ /:/__/ \:\__\ /:/\:\ \:\__\ /:/__/ \:\__\ /:/\:\ /\__\ \/__|:|/:/ / \:\ \ /:/ / \/_|::\/:/ / \:\ \ \/__/ \/__\:\/:/ / |:/:/ / \:\ /:/ / |:|::/ / \:\ \ \::/ / |::/ / \:\/:/ / |:|\/__/ \:\ \ /:/ / /:/ / \::/ / |:| | \:\__\ /:/ / \/__/ \/__/ \|__| \/__/ \/__/ npm install norch and then start with norch
or programatically:
require('norch')(options,function(err,norch){// Norch server started on http://localhost:3030 (or the specified host/port)})Put stuff in
curl -X POST -d @myData.json http://localhost:3030/add
(where myData.json is a newline separated file of JSON objects)
Search for hits (uses search-index's API)
http://localhost:3030/search?q={"query":[{"AND":{"*":["usa"]}}]}
(http://localhost:3030/search returns everything)
Make autosuggest
http://localhost:3030/matcher?q=usa
Export, import, and replicate an index
# create a snapshot on the server (available under /latestSnapshot)
curl -X POST http://localhost:3030/snapshot
# get latest snapshot
curl -X GET http://anotherIndex:3030/latestSnapshot > export.json
# replicate an export file into a new index on another server
curl -X POST -d @export.json http://someOtherServer:3030/import| Endpoint | Method | Response | Typical Use Case |
|---|---|---|---|
/add | POST | status code | Add documents to the index |
/availableFields | GET | stream | Discover the name of fields which can be searched in |
/buckets | GET | stream | Aggregate documents on ranges of metadata |
/categorize | GET | stream | Aggregate documents on single metadata values |
/concurrentAdd | POST | status code | For when more than one source is adding documents to the index at the same time |
/createSnapshot | POST | status code | Create a snapshot of the index |
/delete | DELETE | status code | Remove documents from index |
/docCount | GET | object | Counts total document in index |
/flush | DELETE | status code | Remove all documents from index |
/get | GET | stream | Get documents by ID |
/import | POST | file | Import/merge an existing index into this one |
/latestSnapshot | GET | file | Download the latest index snapshot |
/listSnapshots | GET | file | See list of snapshots |
/match | GET | stream | Match by linguistic similarity- autosuggest, autocomplete |
/search | GET | stream | Search in the index |
/totalHits | GET | object | Show number of hits that a given query returns |
The Norch API docs are here. Norch is essentially an http wrapper around search-index.
Norch.js is an experimental search engine built with Node.js and search-index featuring, Full text search, Stopword removal, aggregation Matching (Autosuggest), Phrase search, Fielded search, Field weighting, Relevance weighting (tf-idf), Paging (offset and resultset length)
On Linux and OSX. Install bunyan, tail the log-file and pipe to bunyan.
Install bunyan:
npm install -g bunyanTail log-file:
tail -f log-info.log |bunyanMailing list:norchjs@googlegroups.com - subscribe by sending an email to norchjs+subscribe@googlegroups.com
MIT, Copyright (c) 2013-16 Fergus McDowall
