MongoDB textScore

#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 процентов записи соответствия. Вот что мне нужно сделать?