suggest

module
v0.0.0-...-3b44145 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 11, 2021 License: MIT

README

Suggest

Library for Top-k Approximate String Matching, autocomplete and spell checking.

Build Status Go Report Card GoDoc

The library was mostly inspired by

Docs

See the documentation with examples demo and API documentation.

Demo

Fuzzy string search in a dictionary

The demo shows an approximate string search in a vehicle dictionary with more than 2k model names.

You can also run it locally

$ make build
$ ./build/suggest eval -c pkg/suggest/testdata/config.json -d cars -s 0.5 -k 5

or by using Docker

$ make build-docker
$ docker run -p 8080:8080 -v $(pwd)/pkg/suggest/testdata:/data/testdata suggest /data/build/suggest service-run -c /data/testdata/config.json

Suggest eval Demo

Spellchecker

Spellchecker recognizes a misspelled word based on the context of the surrounding words. In order to run a spellchecker demo, please do the next

$ make build
$ ./build/./spellchecker eval -c lm-folder/config.json

Spellchecker eval Demo

Contributions

When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.

Directories

Path Synopsis
cmd
internal
pkg
alphabet
Package alphabet provides API for manipulating with the list of defined characters
Package alphabet provides API for manipulating with the list of defined characters
analysis
Package analysis represents API to convert text into indexable/searchable tokens
Package analysis represents API to convert text into indexable/searchable tokens
compression
Package compression holds the algorithms for compressing the list of sorted lists of integers
Package compression holds the algorithms for compressing the list of sorted lists of integers
dictionary
Package dictionary represents storage for keeping an index vocabulary
Package dictionary represents storage for keeping an index vocabulary
index
Package index provides an inverted index implementation and basic functionality for work with this data structure
Package index provides an inverted index implementation and basic functionality for work with this data structure
lm
Package lm provides a library for storing large n-gram language models in memory.
Package lm provides a library for storing large n-gram language models in memory.
merger
Package merger provides a different set of algorithms for solving T-overlap occurrence problem of sorted lists of integers.
Package merger provides a different set of algorithms for solving T-overlap occurrence problem of sorted lists of integers.
metric
Package metric holds different metrics for sets similarity compare
Package metric holds different metrics for sets similarity compare
mph
Package mph represents minimal perfect hash function implementation
Package mph represents minimal perfect hash function implementation
spellchecker
Package spellchecker provides spellcheck functionality
Package spellchecker provides spellcheck functionality
store
Package store provides an abstract way to work with i/o
Package store provides an abstract way to work with i/o
suggest
Package suggest provides fuzzy search and autocomplete functionality
Package suggest provides fuzzy search and autocomplete functionality
utils
Package utils holds the list of code helpers
Package utils holds the list of code helpers

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL