This PR creates a new asynchronous service named appflowy-indexer which - in a similar fashion to appflowy-history - listens for incoming changes from redis streams collab events in order to decide if we should index or re-index appflowy documents for vector search purposes.
Later on these changes are available to for vector searching using HTTP GET over {appflowy-cloud-url}/api/search/{workspace}?query={query} endpoint in order to find documents matching searched phrase.
TODO list:
[x] modify database a little - currently we only index plain text of the document, but we'll be doing other stuff like PDF and images as well, so we should prepare database accordingly.
This PR creates a new asynchronous service named
appflowy-indexer
which - in a similar fashion to appflowy-history - listens for incoming changes from redis streams collab events in order to decide if we should index or re-index appflowy documents for vector search purposes.Later on these changes are available to for vector searching using HTTP GET over
{appflowy-cloud-url}/api/search/{workspace}?query={query}
endpoint in order to find documents matching searched phrase.TODO list: