This is an alternative site for discovering Elm packages. You may be looking for the official Elm package site instead.
Deprecated Full text index engine see ElmTextSearch
version 1.0.3
license BSD3
native-modules False
elm-version 0.16.0 <= v < 0.17.0
Tag 1.0.3
Committed At 2015-12-29 05:59:48 UTC
rluiten/trie 2.0.0 <= v < 3.0.0 2.0.3
rluiten/stemmer 1.0.0 <= v < 2.0.0 1.0.4
rluiten/sparsevector 1.0.0 <= v < 2.0.0 1.0.3
elm-lang/core 3.0.0 <= v < 4.0.0 3.0.0


Lunrelm full text indexer

Copyright (c) 2016 Robin Luiten


This package has been replaced by ElmTextSearch package.

Original documentation Below here.

This is a full text indexing engine inspired by lunr.js and written in Elm language. See for lunr.js While Lunerlm has a good selection of tests this library is not battle tested and may contain some performance issues that need addressing still. Several packages were created for this project and published seperately for this package to depend on.

Parts of lunr.js were left out

  • This does not have an event system.
  • Its internal data structure is not compatible.

Notes captured along way writing this.

  • lunr.js
    • tokenStore.remove does not decrement length, but it doesnt use length really only save/load
    • stemmer "lay" -> "lay" "try" -> "tri" is opposite to porter stemmer
  • porter stemmer erlang implementation
    • step5b does not use endsWithDoubleCons which is required afaik to pass the voc.txt output.txt cases