appwrite icon indicating copy to clipboard operation
appwrite copied to clipboard

🚀 Enhancement: Built-in extensive search functionality like Algolia and alike

Open xMrAfonso opened this issue 9 months ago • 2 comments

đź”– Enhancement description

Add a first-party, built-in full-text search service to Appwrite, similar in functionality to Algolia, Meilisearch, or Typesense. This feature would allow developers to perform fast, powerful, and customizable search queries directly on their Appwrite data collections without relying on third-party services.

🎤 Pitch

Search is a key feature in most modern apps, finding blog posts, products, users, or support tickets should be easy. Right now, Appwrite users need to rely on third-party tools like Algolia or Meilisearch to get that functionality. While those work, they add complexity, cost, and external dependencies.

A built-in Appwrite search tool would make it easier for developers to add search systems without leaving the Appwrite ecosystem. It could support indexing specific fields, filtering, ranking, and full-text queries. This would save time, improve performance, and make Appwrite feel even more like a true all-in-one backend.

đź‘€ Have you spent some time to check if this issue has been raised before?

  • [x] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

xMrAfonso avatar May 05 '25 20:05 xMrAfonso

@xMrAfonso, thanks for creating this issue! 🙏 Have you tried using the contains or search queries? Where do they fall short for you?

stnguyen90 avatar May 06 '25 03:05 stnguyen90

@stnguyen90 , @xMrAfonso I tested the "search" query functionality and observed the following behavior:

  • Searching "run" returns "Running Shoes", which works as expected.
  • Searching "runner" does not return "Running Shoes", indicating a lack of support for word variations. X
  • Searching "headphone" returns "Bluetooth Headphone", which is correct.
  • Searching "hedphone" does not return "Bluetooth Headphone", typo not handled. X

This suggests that Appwriter current "search" implementation doesn’t support stemming (like “run”, “runner”, “running”) or fuzzy matching (handling typos like “hedphone” vs. “headphone”). These are important for a user-friendly and resilient search experience. Supporting these features would greatly improve Appwriter native search capabilities without relying on third-party services.

Khizarshah01 avatar May 08 '25 16:05 Khizarshah01

Hey @stnguyen90, sorry for the very late response, I think @Khizarshah01 essentially pointed out several points, where as I also have a concern regarding performance, I am not sure doing db queries for search in an auto completion basis (even if done every 0.25 or similar) is performant and scalable.

xMrAfonso avatar Jul 10 '25 14:07 xMrAfonso

Related: https://github.com/appwrite/appwrite/issues/6838

DH-555 avatar Jul 10 '25 15:07 DH-555

Related: https://github.com/appwrite/appwrite/issues/6838

Damn, 2 year old issue and nothing yet

xMrAfonso avatar Jul 10 '25 16:07 xMrAfonso