var lunr = require('./lunr.min'); var input = '';
function buildIndex(corpus, indexFields) {
var index, urlToDoc = {}; index = lunr(function() { var boost; this.ref('url'); for (var fieldName in indexFields) { boost = indexFields[fieldName]; this.field(fieldName, boost); } corpus.entries.forEach(function(page) { if (page.skip_index !== true) { this.add(page); urlToDoc[page.url] = {url: page.url, title: page.title}; } }, this); }); return JSON.stringify({ index: index.toJSON(), urlToDoc: urlToDoc });
}
process.stdin.setEncoding('utf8');
process.stdin.on('data', function(data) {
input = input + data;
});
process.stdin.on('end', function() {
input = JSON.parse(input); process.stdout.write(buildIndex(input.corpus, input.indexFields));
});