У меня есть схема, написанная на машинописном тексте с использованием Mon goose, например:
export const ModelSchema = new Schema({
title: {
type: String,
required: 'title'
}
})
ModelSchema({ title: 1 }, { collation: { locale: 'en_US', strength: 1 }})
И при выполнении поиска я хочу игнорировать знаки препинания. В данном конкретном случае я хочу, чтобы поиск по «вещам Евы» совпадал с «вещами Евы» и «вещами Евы» (обратите внимание на разницу в одинарных кавычках / апострофах).
К сожалению, вышеприведенное не кажется работать на меня. Я также пробовал варианты конфигурации сортировки, включая добавление полей alternate: 'shifted', maxVariable: 'punct'
, но не повезло.
Я также пытался установить параметры сортировки в точке поиска, например,
Collection.find(
queryJson,
projectionJson,
{ limit: 100 }, (err, results) => {
if (err) {
res.send(err)
}
else {
res.json(recipes)
}
})
.collation({ locale: "en_US", strength: 1, alternate: "shifted", maxVariable: 'punct' })
Но опять не повезло. Кто-нибудь знает, что я здесь не так делаю?
К сожалению, использование индекса text
для этого поля не вариант, так как у меня уже есть этот набор для другого поля.