Skip to content

sagarv1997/aho-corasick-keyword-searcher

Repository files navigation

Aho-Corasick Keyword Searcher

Aho-Corasick Keyword Searcher is a TypeScript library that provides efficient and versatile string matching using the Aho-Corasick algorithm. What sets this library apart is its ability to search for multiple keywords in a given text while associating each keyword with a unique identifier.

This package is referenced and inspired from BrunoRB's Aho-Corasick package, providing additional capability to associate an ID with each keyword.

Installation

To incorporate this powerful keyword searching capability into your TypeScript project, simply install the package using npm:

npm install --save aho-corasick-keyword-searcher

Usage

Start by importing the AhoCorasick class from the library:

import { AhoCorasick } from 'aho-corasick-keyword-searcher';

Initialization: Initialize the Aho-Corasick algorithm, associating keywords with their respective IDs:

const keywords = [
  { id: 'fruit1', word: 'apple' },
  { id: 'fruit2', word: 'banana' },
  // Add more keywords with IDs
];

const keywordSearcher = new AhoCorasick(keywords);

Searching: Employ the search method of the AhoCorasick instance to find keywords in a given string:

const searchString = 'I enjoy apple and banana.';
const searchResults = keywordSearcher.search(searchString);

console.log(searchResults);

The search method returns an array of objects, each containing the position where a match was found in the input string, alongside an array of matches complete with their associated IDs and words.

Example

import { AhoCorasick } from 'aho-corasick-keyword-searcher';

const keywords = [
  { id: 'fruit1', word: 'apple' },
  { id: 'fruit2', word: 'banana' },
  // Add more keywords with IDs
];

const keywordSearcher = new AhoCorasick(keywords);

const searchString = 'I enjoy apple and banana.';
const searchResults = keywordSearcher.search(searchString);

console.log(searchResults);

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A TypeScript library for efficient multi-keyword string matching using Aho-Corasick algorithm with keyword-ID association

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published