Share My Creation [B4X]A Non-Keyboard Word --> Meaning Search

At this time of my life, I program for fun, so sometimes I create things that are not likely to be useful to others.
But perhaps ... still interesting.

Context:
1. Recent threads about word searches.
https://www.b4x.com/android/forum/threads/dictionary-application-where-is-a-good-start.133326/
https://www.b4x.com/android/forum/t...large-database-and-display-on-an-xclv.133517/

2. A link to a interesting wordlist provided by @agraham
https://www.b4x.com/android/forum/t...tion-where-is-a-good-start.133326/post-842843

3. A long-standing interest in linguistics and artificial intelligence

4. A dislike for tiny virtual keyboards on devices. Due to poor eyesight, but also because I have sausages for fingers

5. A deep respect for data structures, especially hash tables like B4X Map

The principle is simple, one and two letter searches give you 10's of thousands of hits. Not very useful.
Three letter searches have practical hit counts, especially for prefixes (except for 6 combinations that require a fourth letter)
Substring searches require about 280 three-letter combinations to be excluded from the search algorithm. They generate too many hits.
The above applies only to English language word sets.

I first used B4XSerializer to store the index maps, but I found that re-generating the maps with text files is about 3x faster.
On my older Tab S2, it only takes 2 seconds to load the dictionary the first time, then it is the ready to go, searches appear to be immediate.


openingScreen.png


resultScreen.png



You can download the zip file from a Dropbox link (use ... tools to download)

.zip file

The file includes the indexed dictionary, but not the original files that formed the dictionary. Check @agraham 's link.
 
Top