I want to do an advanced search, something similar to the one in scryfall where I can use either syntax or buttons to search, using multiple filter and logical operators. I have difficulty knowing how to create the SQL query dynamically. If it’s possible I’d like to see a guide on how to do something like that. If there isn’t a guide a high level description on how to do this would be useful.

Useful resources.

Off-the-shelf search engine server:

Libraries to build your own search engine server:

  • Bleve & tantivy are search engine projects, respectively written in Golang and Rust, inspired by Apache Lucene and its algorithms (e.g., tf-idf, short for term frequency-inverse document frequency). Such as Lucene, both are libraries to be used for any search project; however they are not ready-to-use APIs.
  • Apache Lucene: the full-text search library

@Helix@feddit.de

If you use Hibernate as your data access layer you can use Hibernate Search

@Thann•

  1. you need a database to store and index the information.
  2. you need an API to access the information.

There are a million ways you could do this; pretty much any database will do, and there are a bunch of options for API’s. OpenSearch (AKA ElasticSearch) might be a good starting point. GraphQL is a powerful API option as well.