@clocklimited/cf-text-search

Add full-text search functionality onto cf services. Uses mongo's full text search functionality. Requires Mongo v2.6+.

Usage no npm install needed!

<script type="module">
  import clocklimitedCfTextSearch from 'https://cdn.skypack.dev/@clocklimited/cf-text-search';
</script>

README

cf-text-search

Add full-text search functionality onto cf services. Uses mongo's full text search functionality. Requires Mongo v2.6+.

Modifies the passed in query, adding the $text property as per http://docs.mongodb.org/manual/reference/operator/query/text/.

Installation

npm install cf-text-search

Usage

var textSearch = require('cf-text-search')

service.search = textSearch(service)

service.search('my search terms', function (err, results) {})

var search = textSearch(service)

  • service is a crud-service

search(searchTerms, query={}, options={}, cb)

  • searchTerms - a string which gets pass through to mongo's full text search, can be an array of strings
  • query - optional, an additional object query to filter the results
  • options - optional, any search options e.g. skip, limit
  • cb - the callback function, gets called with (err, results)

Score

The score of the document is returned on all documents as described here: http://docs.mongodb.org/manual/reference/operator/projection/meta/.

If using in conjunction with schemata, you'll need to add a score property to your schema so that it doesn't get stripped out.

Credits

Built by developers at Clock.

Licence

Licensed under the New BSD License