{"id":21971366,"url":"https://github.com/suggest-go/suggest","last_synced_at":"2026-01-12T06:31:00.222Z","repository":{"id":55084793,"uuid":"80887943","full_name":"suggest-go/suggest","owner":"suggest-go","description":"Top-k Approximate String Matching.","archived":false,"fork":false,"pushed_at":"2021-12-16T15:49:03.000Z","size":35706,"stargazers_count":65,"open_issues_count":10,"forks_count":4,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-06-19T01:57:44.443Z","etag":null,"topics":["autocomplete","fuzzy-search","fuzzy-string-matching","golang-library","language-model","ngram","search-engine","spellchecker","top-k-approximate-string-matching"],"latest_commit_sha":null,"homepage":"https://suggest-go.github.io/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/suggest-go.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-04T02:44:30.000Z","updated_at":"2024-06-15T09:43:34.000Z","dependencies_parsed_at":"2022-08-14T11:31:06.904Z","dependency_job_id":null,"html_url":"https://github.com/suggest-go/suggest","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suggest-go%2Fsuggest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suggest-go%2Fsuggest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suggest-go%2Fsuggest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suggest-go%2Fsuggest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/suggest-go","download_url":"https://codeload.github.com/suggest-go/suggest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227149544,"owners_count":17738250,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autocomplete","fuzzy-search","fuzzy-string-matching","golang-library","language-model","ngram","search-engine","spellchecker","top-k-approximate-string-matching"],"created_at":"2024-11-29T14:50:20.236Z","updated_at":"2026-01-12T06:30:59.132Z","avatar_url":"https://github.com/suggest-go.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Suggest\n\nLibrary for Top-k Approximate String Matching, autocomplete and spell checking.\n\n[![Build Status](https://travis-ci.com/suggest-go/suggest.svg?branch=master)](https://travis-ci.com/suggest-go/suggest)\n[![Go Report Card](https://goreportcard.com/badge/github.com/suggest-go/suggest)](https://goreportcard.com/report/github.com/suggest-go/suggest)\n[![GoDoc](https://godoc.org/github.com/suggest-go/suggest?status.svg)](https://godoc.org/github.com/suggest-go/suggest)\n\nThe library was mostly inspired by\n- http://www.chokkan.org/software/simstring/\n- http://www.aaai.org/ocs/index.php/AAAI/AAAI10/paper/viewFile/1939/2234\n- http://nlp.stanford.edu/IR-book/\n- http://bazhenov.me/blog/2012/08/04/autocomplete.html\n- http://www.aclweb.org/anthology/C10-1096\n\n## Docs\n\nSee the [documentation](https://suggest-go.github.io/) with examples demo and API documentation.\n\n## Demo\n\n#### Fuzzy string search in a dictionary\n\nThe [demo](https://suggest-go.github.io/docs/demo/suggest-cars.html) shows an approximate string search in a vehicle dictionary with more than 2k model names.\n\nYou can also run it locally\n\n```\n$ make build\n$ ./build/suggest eval -c pkg/suggest/testdata/config.json -d cars -s 0.5 -k 5\n```\n\nor by using Docker\n\n```\n$ make build-docker\n$ docker run -p 8080:8080 -v $(pwd)/pkg/suggest/testdata:/data/testdata suggest /data/build/suggest service-run -c /data/testdata/config.json\n```\n\n![Suggest eval Demo](suggest-eval.gif)\n\n#### Spellchecker\n\nSpellchecker recognizes a misspelled word based on the context of the surrounding words.\nIn order to run a spellchecker [demo](https://suggest-go.github.io/docs/demo/spellchecker.html), please do the next\n\n* Download an English [language model](https://app.box.com/s/ze53gtxetnqkj5pln7aogge1xo2ca3s0) built on [Blog Authorship Corpus](http://u.cs.biu.ac.il/~koppel/BlogCorpus.htm)\n* Extract downloaded language model and perform\n```\n$ make build\n$ ./build/./spellchecker eval -c lm-folder/config.json\n```\n\n![Spellchecker eval Demo](spellchecker-eval.gif)\n\n## Contributions\n\nWhen 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuggest-go%2Fsuggest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuggest-go%2Fsuggest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuggest-go%2Fsuggest/lists"}