eklem / leven-match

Return all word matches between two arrays within given Levenshtein distance

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

leven-match

NPM version NPM downloads MIT License Build Status JavaScript Style Guide

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.

Breaking change

Importing/requiring script has changed slightly for CJS and ESM. UMD is as it was.

Initiating

UMD - Universal module definition/browser

<script src="https://cdn.jsdelivr.net/npm/leven-match/dist/leven-match.umd.min.js"></script>
// lvm.levenMatch available

CJS - CommonJS

const { levenMatch } = require('leven-match')
// levenMatch available

ESM - Ecmascript module

import { levenMatch } from 'leven-match'
// levenMatch available

Use

<script>
  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']

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

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

About

Return all word matches between two arrays within given Levenshtein distance

License:MIT License


Languages

Language:JavaScript 100.0%