What is it?
LinearSearch incorporates a linear combination of previous search picks to help sort search results.
searchScore = textualCloseness * weight + numberOfPicksInLastN * weightN + ...
By default, LinearSearch uses an algorithm similar to the one found in Sublime Text for filtering before sorting.
Usage
// override the default options for Searchvar options = ;// the algorithm used to filter results before sortingoptionsfilter = ;// the weight for the closeness metricoptionsfilterValueWeight = 05; // the weight for picks in this sessionoptionssessionWeight = 01; // a dictionary mapping number of past search queries to weightsoptionsweights = 2 : 1 / 2 10 : 1/10 * 1 20 : 1/20 * 5 // linear.Search uses the defaults if this is not providedvar ls = options; // add SearchItemsls; ls; // do a searchvar res = ls;
Install via npm
npm install linearsearch
Build
Install prereqs
Install node.js
npm install -g browserify
npm install -g typescript
make
make build
Build for the web
make release
Produces linear.js in the build directory
Test
make test