postgres-elasticsearch-fdw
sonic
Our great sponsors
postgres-elasticsearch-fdw | sonic | |
---|---|---|
3 | 48 | |
106 | 19,431 | |
- | - | |
4.2 | 7.0 | |
29 days ago | 26 days ago | |
Python | Rust | |
MIT License | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
postgres-elasticsearch-fdw
- Full-text search engine with PostgreSQL (part 2): Postgres vs. Elasticsearch
-
Postgres Full Text Search vs. the Rest
My experience with Postgres FTS (did a comparison with Elastic a couple years back), is that filtering works fine and is speedy enough, but ranking crumbles when the resulting set is large.
If you have a large-ish data set with lots of similar data (4M addresses and location names was the test case), Postgres FTS just doesn't perform.
There is no index that helps scoring results. You would have to install an extension like RUM index (https://github.com/postgrespro/rum) to improve this, which may or may not be an option (often not if you use managed databases).
If you want a best of both worlds, one could investigate this extensions (again, often not an option for managed databases): https://github.com/matthewfranglen/postgres-elasticsearch-fd...
Either way, writing something that indexes your postgres database into elastic/opensearch is a one time investment that usually pays off in the long run.
-
Lesser Known PostgreSQL Features
I used a foreign data wrapper to query elasticsearch indexes from within postgres.[0]
It pushed alot of complexity down away from higher-level app developers not familiar with ES patterns.
[0]: https://github.com/matthewfranglen/postgres-elasticsearch-fd...
sonic
-
What is Hybrid Search?
Sonic - a project written in Rust, uses custom network communication protocol for fast communication between the client and the server.
-
ArchiveBox: Open-source self-hosted web archiving
This is uncanny, I just discovered ArchiveBox earlier today and set up a self-hosted instance on some home hardware for a collection of bookmarks of useful guides, tutorials, and references I've collected over the years.
Setting it up on K8s with sonic [1] as the search backend and importing a few hundred URLs only took ~an hour or so, and the cached pages look great for the most part.
[1] https://github.com/valeriansaliou/sonic
- sonic: Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.
- Seeking a free full text search solution for large data with progress display
- Show HN: CozoDB, Hybrid Relational-Graph-Vector DB, the Hippocampus for LLMs
- FLiP Stack Weekly for 15-Jan-2023
-
Building an Internet Scale Meme Search Engine
If you don't need advanced search features, you can use Sonic (https://github.com/valeriansaliou/sonic). It's blazing fast and you can save lot of money on servers.
-
Any Full Text Search library for json data?
What about Sonic? Maybe it requires a bit of integration, but it's simple and blazing fast.
-
10 Trending Github repositories / October, 27 2022
git clone https://github.com/valeriansaliou/sonic.git
- Sonic, An alternative to Elasticsearch that runs on a few MBs of RAM
What are some alternatives?
rum - RUM access method - inverted index with additional information in posting lists
MeiliSearch - A lightning-fast search API that fits effortlessly into your apps, websites, and workflow
tbls - tbls is a CI-Friendly tool for document a database, written in Go.
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
pg-ulid - ULID Functions for PostgreSQL
Typesense - Open Source alternative to Algolia + Pinecone and an Easier-to-Use alternative to ElasticSearch ⚡ 🔍 ✨ Fast, typo tolerant, in-memory fuzzy Search Engine for building delightful search experiences
pgvector - Open-source vector similarity search for Postgres
tantivy - Tantivy is a full-text search engine library inspired by Apache Lucene and written in Rust
postgres-elasticsearch-fd
tantivy - Tantivy is a full-text search engine library inspired by Apache Lucene and written in Rust [Moved to: https://github.com/quickwit-oss/tantivy]
js-id - ID generation for JavaScript & TypeScript Applications
graylog - Free and open log management