All Projects → dav009 → Flash

dav009 / Flash

Golang Keyword extraction/replacement Datastructure using Tries instead of regexes

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Flash

Trienet
.NET Implementations of Trie Data Structures for Substring Search, Auto-completion and Intelli-sense. Includes: patricia trie, suffix trie and a trie implementation using Ukkonen's algorithm.
Stars: ✭ 122 (+54.43%)
Mutual labels:  search, trie
Automator
Various Automator and AppleScript workflow and scripts for simplifying life
Stars: ✭ 68 (-13.92%)
Mutual labels:  search, text
Completely
Java autocomplete library.
Stars: ✭ 90 (+13.92%)
Mutual labels:  trie, text
Lucenenet
Apache Lucene.NET
Stars: ✭ 1,704 (+2056.96%)
Mutual labels:  search, text
subst
Search and des... argh... replace in many files at once. Use regexp and power of Python to replace what you want.
Stars: ✭ 20 (-74.68%)
Mutual labels:  search, text
Sensitive
敏感词查找,验证,过滤和替换 🤓 FindAll, Validate, Filter and Replace words.
Stars: ✭ 292 (+269.62%)
Mutual labels:  trie, text
DawgSharp
DAWG String Dictionary in C#
Stars: ✭ 72 (-8.86%)
Mutual labels:  search, trie
Dbreeze
C# .NET MONO NOSQL ( key value store embedded ) ACID multi-paradigm database management system.
Stars: ✭ 383 (+384.81%)
Mutual labels:  search, text
Flow
A realtime log analyzer
Stars: ✭ 69 (-12.66%)
Mutual labels:  search
Dna
Discourse Network Analyzer (DNA)
Stars: ✭ 73 (-7.59%)
Mutual labels:  text
Findsploit
Find exploits in local and online databases instantly
Stars: ✭ 1,160 (+1368.35%)
Mutual labels:  search
Nginx Pastebin
NGINX+Lua based pastebin for text
Stars: ✭ 70 (-11.39%)
Mutual labels:  text
Searx
Privacy-respecting metasearch engine
Stars: ✭ 10,074 (+12651.9%)
Mutual labels:  search
Awesome Solr
A curated list of Awesome Apache Solr links and resources.
Stars: ✭ 69 (-12.66%)
Mutual labels:  search
Russian news corpus
Russian mass media stemmed texts corpus / Корпус лемматизированных (морфологически нормализованных) текстов российских СМИ
Stars: ✭ 76 (-3.8%)
Mutual labels:  text
Foselasticabundle
Elasticsearch PHP integration for your Symfony project using Elastica.
Stars: ✭ 1,142 (+1345.57%)
Mutual labels:  search
Adaptive Radix Tree
A fast and space efficient Radix tree in Java
Stars: ✭ 76 (-3.8%)
Mutual labels:  trie
Lieu
community search engine
Stars: ✭ 76 (-3.8%)
Mutual labels:  search
Materialchipview
Material Chip view. Can be used as tags for categories, contacts or creating text clouds
Stars: ✭ 1,181 (+1394.94%)
Mutual labels:  text
Distube
A Discord.js v12 module to simplify your music commands and play songs with audio filters on Discord without any API key. Support YouTube, SoundCloud, Bandcamp, Facebook, and 700+ more sites
Stars: ✭ 73 (-7.59%)
Mutual labels:  search

Flash

Fast Keyword extraction using Aho–Corasick algorithm and Tries.

Flash is a Golang reimplementation of Flashtext,

This is meant to be used when you have a large number of words that you want to:

  • extract from text
  • search and replace

Flash is meant as a replacement for Regex, which in such cases can be extremely slow.

Usage


import "github.com/dav009/flash"

words := flash.NewKeywords()
words.Add("New York")
words.Add("Hello")
words.Add("Tokyo")
foundKeywords := words.Extract("New York and Tokyo are Cities")
fmt.Println(foundKeywords)
// [New York, Tokyo]

Benchmarks

As a reference using go-flash with 10K keywords in a 1000 sentence text, took 7.3ms, while using regexes took 1minute 37s.

Sentences Keywords String.Contains Regex Go-Flash
1000 10K 1.0035s 1min 37s 2.72ms

Warning

This is a toy-project for me to get more familiar with Golang Please be-aware of potential issues.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].