# Fuzzy Search Feature for "Covers" Digital Bookshelf App

**URL:** <https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020>\
**Category:** Questions about Thunkable X\
**Tags:** help, search\
**Created:** [August 21, 2023, 5:18pm UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020 "2023-08-21T17:18:46Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![jahaan](https://avatars.discourse-cdn.com/v4/letter/j/6bbea6/32.png) [@jahaan](https://community.thunkable.com/u/jahaan)\
**Post date:** [August 21, 2023, 5:18pm UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/1 "2023-08-21T17:18:46Z")

</div>

How would I make a fuzzy search feature? I know how to lowercase an input, but I’d like the user to search for by Genre, Author, Book or Location. A genre search brings up all books in that specific genre, author = specific author, book = specific book, location = books in that area of the house. I will send a project link below just so you know what I mean.

This is the app I’m making, please refer to it If you haven’t already: ["Covers" digital bookshelf app](https://community.thunkable.com/t/covers-digital-bookshelf-app/2548134)

Link: [Thunkable](https://x.thunkable.com/copy/c35208076f57818c15e72b9cc49daca9)

---

<div class="post-metadata">

**Author:** ![manyone](https://avatars.discourse-cdn.com/v4/letter/m/ee59a6/32.png) [@manyone](https://community.thunkable.com/u/manyone)\
**Post date:** [August 21, 2023, 6:08pm UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/2 "2023-08-21T18:08:55Z")

</div>

you might try googling for ‘soundex’ algorithm to see if it works for you.

---

<div class="post-metadata">

**Author:** ![jahaan](https://avatars.discourse-cdn.com/v4/letter/j/6bbea6/32.png) [@jahaan](https://community.thunkable.com/u/jahaan)\
**Post date:** [August 21, 2023, 6:54pm UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/3 "2023-08-21T18:54:01Z")

</div>

I don’t know how to recreate that in Thunkable. Right now, I’m focusing on a 4-topic search.

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [August 21, 2023, 7:08pm UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/4 "2023-08-21T19:08:57Z")

</div>

What is a “fuzzy” search? Does that just mean that any combination of search terms should show results – like a filter?

---

<div class="post-metadata">

**Author:** ![jahaan](https://avatars.discourse-cdn.com/v4/letter/j/6bbea6/32.png) [@jahaan](https://community.thunkable.com/u/jahaan)\
**Post date:** [August 21, 2023, 7:14pm UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/5 "2023-08-21T19:14:33Z")

</div>

A “fuzzy search” usually refers to a search system where the user can input a result like “watH is da Name of the no cod app developMent program” when the items in the database is “what is the name of the no code app development program”. In this case, though, I want the user to be able to search for either genre, author, location or name but on the _same_ input.

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [August 22, 2023, 2:52am UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/6 "2023-08-22T02:52:54Z")

</div>

Wow, that sounds really hard to program. I would think it would be easier to use an API that handles such searches.

---

<div class="post-metadata">

**Author:** ![jahaan](https://avatars.discourse-cdn.com/v4/letter/j/6bbea6/32.png) [@jahaan](https://community.thunkable.com/u/jahaan)\
**Post date:** [August 22, 2023, 3:05am UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/7 "2023-08-22T03:05:13Z")

</div>

Can you recommend one?

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [August 22, 2023, 3:38am UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/8 "2023-08-22T03:38:28Z")

</div>

I don’t know of any, sorry.

---

<div class="post-metadata">

**Author:** ![manyone](https://avatars.discourse-cdn.com/v4/letter/m/ee59a6/32.png) [@manyone](https://community.thunkable.com/u/manyone)\
**Post date:** [August 22, 2023, 9:00pm UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/9 "2023-08-22T21:00:51Z")

</div>

maybe someone can transcribe the algorithm here to thunkable. it’s supposed to be 2.7% better than soundex…

> **[New York State Identification and Intelligence System](https://en.wikipedia.org/wiki/New_York_State_Identification_and_Intelligence_System)**
>
> The New York State Identification and Intelligence System Phonetic Code, commonly known as NYSIIS, is a phonetic algorithm devised in 1970 as part of the New York State Identification and Intelligence System (now a part of the New York State Division of Criminal Justice Services). It features an accuracy increase of 2.7% over the traditional Soundex algorithm.
> The algorithm, as described in Name Search Techniques, is:

---

<div class="post-metadata">

**Author:** ![jared](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/jared/32/138473_2.png) [@jared](https://community.thunkable.com/u/jared)\
**Post date:** [August 23, 2023, 2:09am UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/10 "2023-08-23T02:09:08Z")

</div>

Algolia is a great search engine. Easy to interact with. Just finished building part of an internal tool with it.

Xano has a built in fuzzy search, not nearly as nice as algolia.

You could also use a js library and a webviewer element to do this.

In short, you really shouldn’t build this feature yourself unless it’s an assignment from school.

Use a tool that already exists! 🙂

---

<div class="post-metadata">

**Author:** ![jahaan](https://avatars.discourse-cdn.com/v4/letter/j/6bbea6/32.png) [@jahaan](https://community.thunkable.com/u/jahaan)\
**Post date:** [August 23, 2023, 5:14pm UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/11 "2023-08-23T17:14:01Z")

</div>

Honestly, I’m really bad at integrating pre-made solutions into my apps. Haha

---

<div class="post-metadata">

**Author:** ![jared](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/jared/32/138473_2.png) [@jared](https://community.thunkable.com/u/jared)\
**Post date:** [August 24, 2023, 2:03am UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/12 "2023-08-24T02:03:46Z")

</div>

I guarantee you’ll find it harder to create this feature yourself.

It’s an api call and a list/layout/dataviewer to see the data

Use the onchange event for your input element

It’s dope and I can’t believe there’s not a sample here.

Come to think of it! Hmmm 🧐

---

<div class="post-metadata">

**Author:** ![manyone](https://avatars.discourse-cdn.com/v4/letter/m/ee59a6/32.png) [@manyone](https://community.thunkable.com/u/manyone)\
**Post date:** [August 24, 2023, 9:06am UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/13 "2023-08-24T09:06:35Z")

</div>

you may want to try this implementation i made:

> [@Fun Share: Fuzzy Search with Roger Root Method](https://community.thunkable.com/t/fun-share-fuzzy-search-with-roger-root-method/2559892):
>
> a recent query in the forum about fuzzy search prompted me to research on the topic and i found out that there are dozens of algorithms out there - one of the first ones was Soundex but it turned out to have many mismatches. i found one that seemed not too difficult to code in thunkable - it’s called Roger Root method. this [link](https://naldc.nal.usda.gov/download/27833/PDF) brings up a PDF describing several algorithms - Roger Root, its description, pseudo code and examples can be found towards the end. this demo shows what it can do.

---

<div class="post-metadata">

**Author:** ![jahaan](https://avatars.discourse-cdn.com/v4/letter/j/6bbea6/32.png) [@jahaan](https://community.thunkable.com/u/jahaan)\
**Post date:** [August 25, 2023, 12:55am UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/14 "2023-08-25T00:55:08Z")

</div>

I’ll try this too.

---

<div class="post-metadata">

**Author:** ![jared](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/jared/32/138473_2.png) [@jared](https://community.thunkable.com/u/jared)\
**Post date:** [August 25, 2023, 3:01pm UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/15 "2023-08-25T15:01:36Z")

</div>

> [@Fun Share: Fuzzy Search with Roger Root Method](https://community.thunkable.com/t/fun-share-fuzzy-search-with-roger-root-method/2559892/4):
>
> ulated with a new column containing the roger\_root for that row’s key value. for example, your table may contain an entry for DA

i woudl highly consider the algolia route. js. it’s dope. fairly inexpensive and has a generous free tier when used appropriately.

and the blocks can be as simple as this

 ![Screen Shot 2023-08-25 at 10.59.43 AM](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/7/a/7a447efa33cdcda6c1885841a2fa872e107051f4.png)

with a design as simple as this

 ![Screen Shot 2023-08-25 at 11.01.18 AM](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/8/2/8200634f9a8901c977e54594019cd2d875de409b.png)

---

<div class="post-metadata">

**Author:** ![jahaan](https://avatars.discourse-cdn.com/v4/letter/j/6bbea6/32.png) [@jahaan](https://community.thunkable.com/u/jahaan)\
**Post date:** [August 25, 2023, 3:52pm UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/16 "2023-08-25T15:52:45Z")

</div>

Honestly, I would, but I don’t want to pay anything. I’ll look it up though, see what I can do.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/0/f/0f59f292712368bce16ff80133ae10de8a6f27e8.png) [@system](https://community.thunkable.com/u/system)\
**Post date:** [November 23, 2023, 3:53pm UTC](https://community.thunkable.com/t/fuzzy-search-feature-for-covers-digital-bookshelf-app/2555020/17 "2023-11-23T15:53:25Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
