diff --git a/ddocs/medic-db/medic-nouveau/nouveau/reports_by_freetext/index.js b/ddocs/medic-db/medic-nouveau/nouveau/reports_by_freetext/index.js index 56b810d5f4..99f5eb7038 100644 --- a/ddocs/medic-db/medic-nouveau/nouveau/reports_by_freetext/index.js +++ b/ddocs/medic-db/medic-nouveau/nouveau/reports_by_freetext/index.js @@ -1,18 +1,29 @@ function (doc) { - var skip = ['_id', '_rev', 'type', 'refid', 'content']; - let toIndex = ''; + var skip = ['_id', '_rev', 'type', 'refid', 'content', '_attachments']; + var toIndex = ''; var emitField = function (key, value) { if (!key || !value) { return; } - key = key.toLowerCase(); + + key = key.toLowerCase().trim(); if (skip.indexOf(key) !== -1 || /_date$/.test(key)) { return; } + var fieldNameRegex = /^\$?[a-zA-Z][a-zA-Z0-9_]*$/g + if (!fieldNameRegex.test(key)) { + log(`key "${key}" doesn't pass regex - "${doc._id}"`); + } + if (typeof value === 'string') { toIndex += ' ' + value; + index('text', key, value, { store: true }); + } + + if (typeof value === 'number') { + index('double', key, value, { store: true }); } };