#mongodb #search #text
#mongodb #Поиск #текст
Вопрос:
Я новичок в MongoDB, для меня мне нужно выполнить поиск имени » Raja Sekar» из поля name в базе данных,
Я проиндексировал его. Но мое условие — поисковый запрос должен соответствовать 75 процентам похожих записей.
Не могли бы вы, пожалуйста, помочь мне с этим
db.customers.find(
{ $text: { $search: "raja sekar kumar" } },
{ score: { $meta: "textScore" } }
).sort({ score: { $meta: "textScore" } })
Ответ №1:
Вы можете сопоставлять результаты по тексту.
db.customers.aggregate(
[
{ $match: { $text: { $search: "raja sekar kumar" } } },
{ $project: { _id: 0, score: { $meta: "textScore" } } },
{ $match: { score: { $gt: 0.75 } } }
]
)
Комментарии:
1. Спасибо за ваш ответ, я новичок в MongoDB, правильно ли это, если предположить, что я хочу, чтобы 80 процентов записей совпадали, означает, что я могу использовать 0.80. Пожалуйста, предложите мне
2. Всегда пожалуйста. Нет, процентные оценки отличаются от сгенерированных взвешенных оценок. Здесь обсуждается , почему процентные оценки ненадежны.
3. Да, я понял, но мое требование — найти 80 процентов записи соответствия. Вот что мне нужно сделать?