RedisIndex is a Redis based minimal search indexer for NodeJS.
Check test.js for more examples.
npm install redisindex --save
RedisIndex is built on top of node_redis. It's initialized with a redis client object.
var redisClient = require('redis').createClient();
var indexer = new RedisIndex({
redisClient: redisClient, // required
keyPrefix: 'my-namespace:' // optional, default = 'ri:'
});
Use index
to add a document. If the document ID exists, it will be
removed and re-added with the new content. The content is uncapitalized
and tokenized on white spaces and punctuations. Then each token is indexed as a keyword.
indexer.index('docid-123', 'hello world', function(err) {});
If the document ID is guaranteed to be unique, use add
directly to gain efficiency.
indexer.add('docid-123', 'hello world', function(err) {});
add
can also be used to append extra content to an existing document.
Use remove
to delete a document. It's a no-op if the document ID doesn't exist;
indexer.remove('docid-123', function(err) {});
Use search
to query the index. The query is uncapitalized and tokenized into keywords
the same way as the document content. The IDs of documents matching all the keywords are returned.
indexer.search('hello world', function(err, docIds) {
docIds.forEach(function(docId) {
console.log(docId);
});
});
MIT.