keyword-search
Version:
Determine whether a given query string contains keywords in a given item string, with a specified margin for spelling error based on the hamming distance.
16 lines (13 loc) • 349 B
JavaScript
;
var hamming = require('hamming');
module.exports = function (query, item, accuracy) {
const keywords = query.split(' ');
const itemWords = item.split(' ');
return keywords.every(keyword =>
itemWords.some(
word =>
keyword.length <= word.length &&
hamming(keyword, word.slice(0, keyword.length)) <= accuracy
)
);
};