Храните данные в ES, а не в MongoDB, используя mongoosastic - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь создать проект поисковой системы, используя mongoosastic, и мне было интересно, есть ли способ хранить определенные поля данных только на elasticsearch, а не на MongoDB, так как это в основном сделало бы дублирование данных.

Например, мы можем использовать es_indexed, чтобы elasticsearch проиндексировал данные и сохранил их в MongoDB, но есть ли что-то подобное, что может elasticsearch проиндексировать данные, но MongoDb делает не храните его.

var mongoose     = require('mongoose')
  , mongoosastic = require('mongoosastic')
  , Schema       = mongoose.Schema

var User = new Schema({
    name: {type:String, es_indexed:true}
  , email: String
  , city: String
  , comments: {type:[Comment], es_indexed:true}
})

User.plugin(mongoosastic)

Я проверял то же самое с mongoose, но он не работал. Как мне этого добиться?

1 Ответ

0 голосов
/ 10 ноября 2018

Использование select: false вставит данные только в elasticsearch, а не mongodb

var mongoose     = require('mongoose')
  , mongoosastic = require('mongoosastic')
  , Schema       = mongoose.Schema

var User = new Schema({
    name: {type:String, es_indexed:true}
  , email: String
  , city: String
  , comments: {type:[Comment], es_indexed:true, select: false}
})

User.plugin(mongoosastic)
...