Estoy luchando con una consulta de MongoDB. La estructura de los registros es muy sencilla:
{ body: "Some sentence, no more than 4-5 lines I would say", title: "Just some characters", date: "2021-10-17 11:11:11" }Por ahora tenemos 800k registros. Al buscar palabras poco comunes, la búsqueda es muy, muy rápida y los resultados se dan justo después de algunos ms, como se esperaba. Sin embargo, si usa palabras muy comunes, que pueden aparecer incluso en la mayoría de los registros, la búsqueda en sí puede demorar hasta 15 segundos.
El código que uso es:
var queryString = "aVeryCommonWord"; db1.collection("nic_news").createIndex({ title: "text", body: "text" }) query = { $text: { $search: queryString }, date: { $gt: "2021-10-17" } , } var skipInt = 0; db1.collection("nic_news").find(query).skip(skipInt).sort({ date: -1 }).limit(25).toArray(function (err, doc) {...
Incluso si limito los resultados por número y fecha, como en el código anterior, tengo no menos de 15 segundos para ver los resultados en la consola.
¿Alguna idea sobre cómo optimizar esta búsqueda?
¡Muchos gracias!