A proof-of-concept serverless full-text search solution built with Apache Lucene and Quarkus framework.
MIT License
This project demonstrates a proof-of-concept serverless full-text search solution built with Apache Lucene and Quarkus framework.
✔️ No servers
✔️ No fixed costs
✔️ Low (250-300ms) cold starts
⚠️ Better deletion policy is required. Right now old segment files are not deleted as a simple workaround to handle concurrent reads and writes
ℹ️ Cost can be controlled via several factors:
Please note that the project is not ready for production since I haven't tested it under a prolonged load and to be honest interfaces need to be nicer.
Read the blog post about it here
Replace region, vpc id and subnets in the serverless.yml
file
Deploy the stack
sls deploy
Don't forget to remove it if you're not planning to use it
sls remove
URL: https://<api-id>.execute-api.<region>.amazonaws.com/dev/index
HTTP method: POST
Example request body:
{
"indexName": "books",
"documents": [
{
"name": "The Foundation",
"author": "Isaac Asimov"
}
]
}
URL: https://<api-id>.execute-api.<region>.amazonaws.com/dev/query
HTTP method: POST
Example request body:
{
"indexName": "books",
"query": "author:isaac"
}
Example response body:
{
"totalDocuments": "1",
"documents": [
{
"author": "Isaac Asimov",
"name": "The Foundation"
}
]
}
./mvnw clean package