123456789101112131415161718192021222324252627282930313233343536373839404142 |
- "use strict";
- var Promise = require('bluebird'),
- _ = require('lodash'),
- path = require('path'),
- searchIndex = Promise.promisifyAll(require('search-index')),
- stopWord = require('stopword');
- /**
- * Search Model
- */
- module.exports = {
- _si: null,
- /**
- * Initialize Search model
- *
- * @param {Object} appconfig The application config
- * @return {Object} Search model instance
- */
- init(appconfig) {
- let dbPath = path.resolve(ROOTPATH, appconfig.datadir.db, 'search-index');
- this._si = searchIndex({
- deletable: true,
- fieldedSearch: true,
- indexPath: dbPath,
- logLevel: 'error',
- stopwords: stopWord.getStopwords(appconfig.lang).sort()
- }, (err, si) => {
- if(err) {
- winston.error('Failed to initialize search-index.', err);
- }
- });
- }
- };
|