1.1.6 • Published 6 years ago

linearsearch v1.1.6

Weekly downloads
8
License
MIT
Repository
github
Last release
6 years ago

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
1.1.6

6 years ago

1.1.5

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago