search.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. var program = require('commander')
  2. , sprintf = require('sprintf')
  3. , debug = require('debug')('debug:console:search-util')
  4. , crowi = new (require('../lib/crowi'))(__dirname + '/../', process.env)
  5. ;
  6. crowi.init()
  7. .then(function(app) {
  8. program
  9. .version(crowi.version);
  10. program
  11. .command('create-index')
  12. .action(function (cmd, env) {
  13. var search = crowi.getSearcher();
  14. search.buildIndex()
  15. .then(function(data) {
  16. console.log(data);
  17. })
  18. .then(function() {
  19. process.exit();
  20. })
  21. .catch(function(err) {
  22. console.log("Error", err);
  23. })
  24. });
  25. program
  26. .command('add-pages')
  27. .action(function (cmd, env) {
  28. var search = crowi.getSearcher();
  29. search.addAllPages()
  30. .then(function(data) {
  31. if (data.errors) {
  32. console.error(data);
  33. console.error('Failed to index.');
  34. } else {
  35. console.log('Data is successfully indexed.');
  36. }
  37. process.exit(0);
  38. })
  39. .catch(function(err) {
  40. console.log("Error", err);
  41. });
  42. });
  43. program
  44. .command('rebuild-index')
  45. .action(function (cmd, env) {
  46. var search = crowi.getSearcher();
  47. search.deleteIndex()
  48. .then(function(data) {
  49. if (!data.errors) {
  50. console.log('Index deleted.');
  51. }
  52. return search.buildIndex();
  53. })
  54. .then(function(data) {
  55. if (!data.errors) {
  56. console.log('Index created.');
  57. }
  58. return search.addAllPages();
  59. })
  60. .then(function(data) {
  61. if (!data.errors) {
  62. console.log('Data is successfully indexed.');
  63. }
  64. process.exit(0);
  65. })
  66. .catch(function(err) {
  67. console.error('Error', err);
  68. });
  69. });
  70. program.parse(process.argv);
  71. }).catch(crowi.exitOnError);
  72. //program
  73. // .command('search [query]', 'search with optional query')
  74. // .command('list', 'list packages installed', {isDefault: true})