<commit_before>var init = require('../base/init');
var error = require('../base/error');
var config = require('../base/config');
var fs2 = require('../base/fs2');
var mongob = require('../mongo/mongo-base');
var userb = require('../user/user-base');
var postb = exports;

error.define('INVALID_CATEGORY', '정상적인 카테고리가 아닙니다.');
error.define('INVALID_THREAD', '정상적인 글줄이 아닙니다.');
error.define('INVALID_POST', '정상적인 글이 아닙니다.');

error.define('TITLE_EMPTY', '제목을 입력해 주십시오.', 'title');
error.define('TITLE_TOO_LONG', '제목을 줄여 주십시오.', 'title');
error.define('WRITER_EMPTY', '필명을 입력해 주십시오.', 'writer');
error.define('WRITER_TOO_LONG', '필명을 줄여 주십시오.', 'writer');

// threads

var threadId;

init.add(function (done) {
  postb.threads = mongob.db.collection('threads');
  postb.threads.createIndex({ cid: 1, udate: -1 }, function (err) {
    if (err) return done(err);
    postb.threads.createIndex({ udate: -1 }, done);
  });
});

init.add(function (done) {
  mongob.getLastId(postb.threads, function (err, id) {
    if (err) return done(err);
    threadId = id;
    console.log('post-base: thread id = ' + threadId);
    done();
  });
});

postb.getNewThreadId = function () {
  return ++threadId;
};

// posts

var postId;

init.add(function (done) {
  postb.posts = mongob.db.collection('posts');
  postb.posts.createIndex({ tid: 1, cdate: 1 }, function (err) {
    if (err) return done(err);
    postb.posts.createIndex({ tokens: 1 }, done);
  });
});

init.add(function (done) {
  mongob.getLastId(postb.posts, function (err, id) {
    if (err) return done(err);
    postId = id;
    console.log('post-base: post id = ' + postId);
    done();
  });
});

postb.getNewPostId = function () {
  return ++postId;
};

// files

init.add(function (done) {
  fs2.makeDir(config.uploadDir + '/public/post', function (err, dir) {
    if (err) return done(err);

    if (config.dev) {
      postb.emptyDir = function (done) {
        fs2.emptyDir(dir, done);
      }
    }<commit_msg>turn off searching.<commit_after>var init = require('../base/init');
var error = require('../base/error');
var config = require('../base/config');
var fs2 = require('../base/fs2');
var mongob = require('../mongo/mongo-base');
var userb = require('../user/user-base');
var postb = exports;

error.define('INVALID_CATEGORY', '정상적인 카테고리가 아닙니다.');
error.define('INVALID_THREAD', '정상적인 글줄이 아닙니다.');
error.define('INVALID_POST', '정상적인 글이 아닙니다.');

error.define('TITLE_EMPTY', '제목을 입력해 주십시오.', 'title');
error.define('TITLE_TOO_LONG', '제목을 줄여 주십시오.', 'title');
error.define('WRITER_EMPTY', '필명을 입력해 주십시오.', 'writer');
error.define('WRITER_TOO_LONG', '필명을 줄여 주십시오.', 'writer');

// threads

var threadId;

init.add(function (done) {
  postb.threads = mongob.db.collection('threads');
  postb.threads.createIndex({ cid: 1, udate: -1 }, function (err) {
    if (err) return done(err);
    postb.threads.createIndex({ udate: -1 }, done);
  });
});

init.add(function (done) {
  mongob.getLastId(postb.threads, function (err, id) {
    if (err) return done(err);
    threadId = id;
    console.log('post-base: thread id = ' + threadId);
    done();
  });
});

postb.getNewThreadId = function () {
  return ++threadId;
};

// posts

var postId;

init.add(function (done) {
  postb.posts = mongob.db.collection('posts');
  postb.posts.createIndex({ tid: 1, cdate: 1 }, function (err) {
    if (err) return done(err);
    //1024 사이즈 이상의 필드는 인덱스 생성이 안 되게 바뀌었다.
    //postb.posts.createIndex({ tokens: 1 }, done);
    done();
  });
});

init.add(function (done) {
  mongob.getLastId(postb.posts, function (err, id) {
    if (err) return done(err);
    postId = id;
    console.log('post-base: post id = ' + postId);
    done();
  });
});

postb.getNewPostId = function () {
  return ++postId;
};

// files

init.add(function (done) {
  fs2.makeDir(config.uploadDir + '/public/post', function (err, dir) {
    if (err) return done(err);

    if (config.dev) {
      postb.emptyDir = function (done) {
        fs2.emptyDir(dir, done);
      }
    }
{'fraction_non_alphanumeric': 0.19644644644644646, 'fraction_numerical': 0.006006006006006006, 'mean_word_length': 3.631517960602549, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3361554', 'n_tokens_mistral': 1596, 'n_tokens_neox': 1704, 'n_words': 328}