leven-match

Return all word matches between two arrays within given Levenshtein distance.

Usage no npm install needed!

<script type="module">
  import levenMatch from 'https://cdn.skypack.dev/leven-match';
</script>

README

leven-match

Return all word matches between two arrays within given Levenshtein distance.

Intended use is to return all words in a query that has matches in an index within a given Levenshtein distance. Good for autocomplete type functionality, and in some cases also searching.

Part of daq-proc - Simple document and query processing for offline-first search.

NPM version NPM downloads MIT License Build Status JavaScript Style Guide

Use

<script src="leven-match.js"></script>

<script>
  // Just picking leven-match from daq-proc
  const {lvm} = dqp

  const index = ['return', 'all', 'word', 'matches', 'between', 'two', 'arrays', 'within', 'given', 'levenshtein', 'distance', 'intended', 'use', 'is', 'to', 'words', 'in', 'a', 'query', 'that', 'has', 'an', 'index', 'good', 'for', 'autocomplete', 'type', 'functionality,', 'and', 'some', 'cases', 'also', 'searching']
  const query = ['qvery', 'words', 'levensthein']

  lvm.levenMatch(query, index, {distance: 2})
  // returns:
  //[ [ 'query' ], [ 'word', 'words' ], [ 'levenshtein' ] ]
</script>

Returns an array of arrays. One sub-array for each query word.