diff --git a/api/models/plugins/mongoMeili.js b/api/models/plugins/mongoMeili.js index 261b5c50c7..df96338302 100644 --- a/api/models/plugins/mongoMeili.js +++ b/api/models/plugins/mongoMeili.js @@ -155,7 +155,7 @@ const createMeiliMongooseModel = function ({ index, attributesToIndex }) { function (results, value, key) { return { ...results, [key]: 1 }; }, - { _id: 1 }, + { _id: 1, __v: 1 }, ), ).lean(); diff --git a/api/server/routes/search.js b/api/server/routes/search.js index 2197b38ce4..68cff7532b 100644 --- a/api/server/routes/search.js +++ b/api/server/routes/search.js @@ -41,29 +41,10 @@ router.get('/', async function (req, res) { return; } - const messages = ( - await Message.meiliSearch( - q, - { - attributesToHighlight: ['text'], - highlightPreTag: '**', - highlightPostTag: '**', - }, - true, - ) - ).hits.map((message) => { - const { _formatted, ...rest } = message; - return { - ...rest, - searchResult: true, - text: _formatted.text, - }; - }); + const messages = (await Message.meiliSearch(q, undefined, true)).hits; const titles = (await Conversation.meiliSearch(q)).hits; + const sortedHits = reduceHits(messages, titles); - // debugging: - // logger.debug('user:', user, 'message hits:', messages.length, 'convo hits:', titles.length); - // logger.debug('sorted hits:', sortedHits.length); const result = await getConvosQueried(user, sortedHits, pageNumber); const activeMessages = []; @@ -86,8 +67,7 @@ router.get('/', async function (req, res) { delete result.cache; } delete result.convoMap; - // for debugging - // logger.debug(result, messages.length); + res.status(200).send(result); } catch (error) { logger.error('[/search] Error while searching messages & conversations', error);