Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

jhaystack

fukurosan115MIT0.1.8TypeScript support: included

JavaScript search engine

JavaScript, search, engine, search-engine, bitap, typescript, fulltext, string-search, TFIDF, BM25, KMeans, Naive-Bayes, spelling, ngram

readme

Jhaystack



A JavaScript search engine with zero dependencies. Find a needle in a JS-Stack!
Check out the Documentation to learn more!

What is this?

Jhaystack is a JavaScript search engine.

The word Jhaystack is a play of words with "JS-Stack", and was coined because it helps you find a needle in a JS-Stack.

Jhaystack aims to be a library that can scale together with projects as requirements grow more complex. Every part of the library is built to be customizable as well as unit testable, with support for a variety of addons.

Why Jhaystack?

  • Modular and customizable
  • Compatible with most runtime environments
  • Zero dependencies
  • Addons can easily be unit tested
  • Fast searches
  • Simple to use
  • No dedicated search backend needed

changelog

Changelog

0.2.0 (next) TBR

  • TODO:: Implement Storage Strategy

0.1.8

  • Fixed broken images

0.1.7

  • Fixed incorrect types

0.1.6

  • Added ability to extract computed cluster indices
  • Added new "transformer" option for range cluster
  • Fixed an error with typings not working properly
  • Added ability to configure thread planner to warm up threads ahead of time
  • Added a terminate function to Jhaystack to safely close down the search engine.

0.1.5

  • Performance improvements for full-text async searches
  • Simplified build setup & Optimized build output

0.1.4

  • Split SCRUB preprocessor into SCRUB and NORMALIZE_CHARACTERS.
  • Generalized TRIGRAM_SPELLER into NGRAM
  • Added additional ngram speller options
  • Added Soundex spelling strategy
  • Added fuzzy soundex option to soundex spelling strategy
  • Added Norvig spelling strategy
  • Added ID settings for spelling strategies.
  • Added ability to execute specific spelling strategies.

0.1.3

  • Added Naive Bayes cluster strategy

0.1.2

  • Improved trigram spelling strategy

0.1.1

  • Improved internal function dependency management

0.1.0

  • Added new index implementation
  • Added Cluster Strategy support
  • Added KMeans cluster strategy
  • Added Range cluster strategy
  • Added Spelling Strategy support
  • Added Trigram Spelling Strategy
  • Added Ranking Strategy support
  • Added TFIDF ranking strategy
  • Added BM25 ranking strategy
  • Added tokenizer Strategy support
  • Added NGram tokenizer strategy
  • Added EdgeGram tokenizer strategy
  • Added Shingle tokenizer strategy
  • Added Word tokenizer strategy
  • Added Full-Text Scoring strategy support
  • Added Cosine Full-Text scoring strategy
  • Added Magnitude Full-Text scoring strategy
  • Added Query Planner
  • Added full-text search
  • Added binary queries
  • Added new options for search functions
  • Implemented thread planner
  • Moved (mostly) search execution off main thread
  • Added multi-threading support
  • Added dependency management for multi-threaded functions
  • Added optional automatic k-value computation for Bitap based on term length
  • Improved test runner performance by lowering concurrent number of workers
  • Ended support for legacy browsers (IE11)
  • Removed ability to set multiple default comparison strategies
  • Various bug fixes and performance improvements

0.0.53

  • Rewrote traversal strategies into extraction strategies

0.0.52

  • Added Scrubber preprocessor
  • Added English Stop Words preprocessor
  • Added Porter2 stemmer preprocessor
  • Added Lancaster stemmer preprocessor

0.0.51

  • Added Cosine distance comparison strategy
  • Added Levenshtein distance comparison strategy
  • Added Damerau-Levenshtein distance comparison strategy
  • Added Euclidean distance comparison strategy
  • Added Hamming distance comparison strategy
  • Added Jaccard distance comparison strategy
  • Added Jaro-Winkler distance comparison strategy
  • Added Longest Common Substring comparison strategy

0.0.40

  • Added ability to add and remove individual items from search data set
  • Added value preprocessors
  • Implemented improved relevance scoring strategy
  • Implemented pattern filters
  • Implemented weighted search
  • Implemented search meta data
  • Simplified comparison functions
  • Added index of the result item in the original array to search result object

0.0.39

  • Switched bundler from webpack to rollup
  • Added additional builds for different purposes
  • Added eslint to project
  • Added prettier to project
  • Added editorconfig file
  • Updated babel config
  • Added new startsWith index strategy
  • Added new regular expression comparison strategy
  • Created better docs
  • Improved typings
  • Improved relevance score from bitap