Estoy creando una función de preguntas en mi sitio web donde un usuario puede buscar una pregunta, por ejemplo: "¿cómo cocino un pastel?" y obtenga un enlace a la pregunta que otra persona hizo antes cuyo título es: "¿cómo hago un pastel?" la pregunta es casi la misma pero la escritura es diferente y por ahora un usuario no puede encontrar la pregunta 2 si busca la pregunta 1 solo ingreso la barra de búsqueda en collection.find({}) ¿cómo soluciono esto? ¿Existe una API que tal vez pueda generar oraciones similares y con el mismo significado para buscar?
¡Gracias!
No creo que esta respuesta sea un motor de búsqueda que desee, pero es lo mejor que mongodb puede hacer.
Usar $text
db.articles.createIndex( { subject: "text" } ) db.articles.insertMany( [ { _id: 1, subject: "coffee", author: "xyz", views: 50 }, { _id: 2, subject: "Coffee Shopping", author: "efg", views: 5 }, { _id: 3, subject: "Baking a cake", author: "abc", views: 90 }, { _id: 4, subject: "baking", author: "xyz", views: 100 }, { _id: 5, subject: "Café Con Leche", author: "abc", views: 200 }, { _id: 6, subject: "Сырники", author: "jkl", views: 80 }, { _id: 7, subject: "coffee and cream", author: "efg", views: 10 }, { _id: 8, subject: "Cafe con Leche", author: "xyz", views: 10 } ] ) db.articles.find( { $text: { $search: "coffee" } } ) { _id: 1, subject: 'coffee', author: 'xyz', views: 50 }, { _id: 7, subject: 'coffee and cream', author: 'efg', views: 10 }, { _id: 2, subject: 'Coffee Shopping', author: 'efg', views: 5 }