UNPKG

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
'use strict'; 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 ) ); };