linearsearch
TypeScript icon, indicating that this package has built-in type declarations

1.1.6 • Public • Published

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 Search
var options = new linear.SearchOptions();
// the algorithm used to filter results before sorting
options.filter = new linear.SublimeFilter();
// the weight for the closeness metric
options.filterValueWeight = 0.5; 
// the weight for picks in this session
options.sessionWeight = 0.1; 
// a dictionary mapping number of past search queries to weights
options.weights = {
    2 : 1 / 2,
    10 : 1/10 * 1,
    20 : 1/20 * 5
}
 
// linear.Search uses the defaults if this is not provided
var ls = new linear.Search(options);
 
// add SearchItems
ls.add(new linear.SearchItem(["app"])); 
ls.add(new linear.SearchItem(["apple"]));
 
// do a search
var res = ls.search("app");

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

Package Sidebar

Install

npm i linearsearch

Weekly Downloads

8

Version

1.1.6

License

MIT

Unpacked Size

116 kB

Total Files

15

Last publish

Collaborators

  • pboyer