Being able to search for something is a fundamental pattern.
Similar to my Amplify article a few editions ago talking about building MVPs rapidly, this article will be tool-focused.
Searching for a Search tool for my Engineering Toolbox
I've found 'being able to efficiently search' to be one of those extremely common patterns in tech. Therefore I wanted to find an Open Source solution to this pattern that I could use regardless of the particular Cloud I am using or App I am building, and is backed by a good group/regularly maintained. It would also be nice if that tool had an easy to spin up version that works in the Cloud I am most familiar with: AWS.
OpenSearch seemed to meet that criteria:
- OpenSearch Website: https://opensearch.org/
- OpenSearch on AWS: https://aws.amazon.com/opensearch-service/
- Backed by the Linux Foundation, AWS, Uber, etc.: https://foundation.opensearch.org/
- Their GitHub project: https://github.com/opensearch-project
- Maintained (as of this Article, their last release was a week ago): https://github.com/opensearch-project/OpenSearch
- Forked from Elasticsearch: https://en.wikipedia.org/wiki/Elasticsearch
What can OpenSearch do, though?
OpenSearch by itself includes (from their page on Features):
- Anomaly detection: Identify atypical data and receive automatic notifications.
- SQL: Use SQL or a Piped Processing Language (PPL) to query your data.
- Index State Management: Automate index operations.
- Search methods: From traditional lexical search to advanced vector and hybrid search, discover the optimal search method for your use case.
- Machine learning: Integrate machine learning models into your workloads.
- Workflow automation: Automate complex OpenSearch setup and preprocessing tasks.
- Performance evaluation: Monitor and optimize your cluster.
- Asynchronous search: Run search requests in the background.
- Cross-cluster replication: Replicate your data across multiple OpenSearch clusters.
There is also an AWS Managed OpenSearch Service:
- Link: https://aws.amazon.com/opensearch-service/
- Integrate with existing AWS Tooling
- AWS Amplify (that fast MVP tool I talked about before) can also connect to it: https://docs.amplify.aws/react/build-a-backend/data/custom-business-logic/search-and-aggregate-queries/
How do you solve this requirement?
Curious how other folks solve this in their domains. No tool is globally perfect. I do really like that this tool supports Vector search though.
Sage's Bookshelf
This is the grab bag of cool things. Now with cool rocket ship emojis to demonstrate that we're going to the moooon.
π Design: Your Customers have Jobs Too- help them do their Job (Article from Harvard Business Review that reminded me of working back from User Pain)
π QA: Selenium Can help you build Regression Testing Quickly & Easily (The Selenium IDE can record what you do in your own website/webapp, then use those series of actions as a test)
π Workshop: Priority Map Workshop (Stop bluntly asking your team to prioritize things in a meeting, help them by using a Workshop such as the Priority Map)
π Acceptance Testing: What - When - Then (A template for writing Acceptance Tests for your User Stories- the more Templates you use, the lower the cognitive load on your team)
π Workplace Trends: Results of Qualtrics study of 35k Employees (Some interesting trends, as always think critically about the differences between a trend and the specifics of your workplace)
π Productivity: Eat That Frog (Embrace the terrible taste of getting the most important thing of the day done)
π Microservices: Death by a Thousand Microservices (βEveryone is doing microservices, yet we have a single Django monolith maintained by just a few engineers, and a MySQL instance - what are we doing wrong?β)
π AI: Generate Synthetic Data With PromptWright (Another cool AI Tool for generating Synthetic Data, they published a release last week so at least this one is maintained)
Building AI: Interested in help building AI & Software? Check out Rosenblatt AI via Website, or check out the Upwork. Let them know I sent you. :)
#startup #cto #ceo #fullstack #fullstackengineering #softwareengineering