diff --git a/src/backend/backend.js b/src/backend/backend.js index a8f44fe..9ee62e5 100644 --- a/src/backend/backend.js +++ b/src/backend/backend.js @@ -6155,7 +6155,7 @@ router const raw = String(ctx.request.body?.q || ctx.request.body?.prompt || '').trim(); if (!raw) { ctx.redirect('/'); return; } const ssbRefLib = require('../server/node_modules/ssb-ref'); - const hashtagMatch = raw.match(/^#([\p{L}\p{N}_-]+)/u); + const hashtagMatch = raw.match(/^#([0-9A-Za-z_À-￿-]+)/); // sin \p{}: nodejs-mobile no lleva ICU completo if (hashtagMatch) { ctx.redirect('/search?query=' + encodeURIComponent('#' + hashtagMatch[1])); return; diff --git a/src/models/data_model.js b/src/models/data_model.js index 06ce6bb..efa67dd 100644 --- a/src/models/data_model.js +++ b/src/models/data_model.js @@ -49,7 +49,7 @@ const TITLE_STOPWORDS = new Set([ const titleTerms = (c) => String(c.title || c.name || c.question || c.concept || '') .toLowerCase() - .split(/[^\p{L}\p{N}]+/u) + .split(/[^0-9A-Za-zÀ-￿]+/) // sin \p{}: nodejs-mobile no lleva ICU completo .filter(w => w.length >= 3 && !TITLE_STOPWORDS.has(w) && !/^\d+$/.test(w)); const termsOf = (kind, c) => {