diff --git a/src/categories/search.js b/src/categories/search.js index 722ecb01d9..2cb81aca9e 100644 --- a/src/categories/search.js +++ b/src/categories/search.js @@ -77,17 +77,19 @@ module.exports = function (Categories) { if (!query || String(query).length < 2) { return []; } + const searchQuery = String(query).toLowerCase(); const data = await db.getSortedSetScan({ key: 'categories:name', - match: `*${String(query).toLowerCase()}*`, + match: `*${searchQuery}*`, limit: hardCap || 500, }); - return data.map((data) => { - const split = data.split(':'); - split.shift(); - const cid = split.join(':'); - return cid; - }); + return data.reduce((acc, match) => { + const [name, ...cidParts] = match.split(':'); + if (name.includes(searchQuery)) { + acc.push(cidParts.join(':')); + } + return acc; + }, []); } async function getChildrenCids(cids, uid) {