An open API service indexing awesome lists of open source software.

https://github.com/kometen/bloomfilter_spellchecker

Spellcheck using bloomfilter and crow webframework and json.
https://github.com/kometen/bloomfilter_spellchecker

bloomfilter cplusplus cpp11 crowwebframework

Last synced: 26 days ago
JSON representation

Spellcheck using bloomfilter and crow webframework and json.

Awesome Lists containing this project

README

          

I have put together some useful tools and have created a simple spellchecker.
It uses a wordlist I found here on github, a bloomfilter I found and tried
a while back.

The article about the bloomfilter can be found at https://blog.michaelschmatz.com/2016/04/11/how-to-write-a-bloom-filter-cpp/.

The idea is to send a json-formatted list in an array with words which is
parsed using the bloomfilter and can say whether the words exists or not.

It loops the array and add it to a std::map which is then converted to a
json format and returned.

I use the crow webframework and nlohmann json framework. And boost.

To compile on macos use

`clang++ -std=c++11 -L/usr/local/lib -lboost_system -o begin begin.cpp BloomFilter.cpp MurmurHash3.cpp`

and on FreeBSD

`clang++ -lthr -std=c++11 -I/usr/local/include -L/usr/local/lib -lboost_system -o begin begin.cpp BloomFilter.cpp MurmurHash3.cpp`

and run it. It then parses the text file and add it to the bloomfilter and then wait for an input.

Send a curl-request like this

`curl -H "Content-Type: application/json" -X POST -d '{"words": ["jeg æder","carmen","basis"]}' trening.gnome.no:18080/bloom_json`

The response may look like

`{"basis":true,"carmen":true,"jeg æder":false,"tarsometatarsal":true}`

The service is running on trening.gnome.no:18080. Currently only an english wordlist is running but if I can get
wordlists in other languages pls. send me a message. One usage can be for wordgames like wordfeud where you just
want to know whether a word is present or not.