charabia
postgres-elasticsearch-fdw
charabia | postgres-elasticsearch-fdw | |
---|---|---|
5 | 3 | |
211 | 106 | |
4.7% | - | |
8.4 | 4.2 | |
4 days ago | about 1 month ago | |
Rust | Python | |
MIT License | MIT License |
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.
charabia
-
tashkil: a lightweight library for removing Arabic diacritics
I hope to use this to submit a PR to meilisearch/charabia in the future based on the excellent example by benny-n in his pull request adding Hebrew support.
-
Postgres Full Text Search vs. the Rest
Good to know. If you find some Russian language support improvement we can do, don't hesitate to create an issue on our tokeniser https://github.com/meilisearch/charabia.
Moreover, it's Hacktoberfest. If you want to help us improve the language support, it would be awesome!
-
Meilisearch just announced its $15M Serie A, the search Rust engine strikes again
The Language support is mainly handled by the tokenizer where you can find specialized Segmenters and Normalizers that target some Language subtilities: https://github.com/meilisearch/charabia
-
ZincSearch – lightweight alternative to Elasticsearch written in Go
Hi @tommoor
I work at Meilisearch so maybe a biased answer.
We do support other languages than English, it actually depends on what are the languages supported by our tokenizer https://github.com/meilisearch/charabia, so any language that uses whitespace to separate words(including English), Chinese, Japanese, Hebrew and Thai (Japaneze and Thai might work a little bit less)
-
Where to start to learn about implementing website's search engine?
Hello u/pkeep-go, at MeiliSearch we are implementing with the help of a contributor the CJK language support. We already have the Chinese support with Jieba but a contributor is adding the Korean and Japaneese support with Lindera. For us, it's really important to have people trying and helping us with languages we don't speak. If you want to make any contribution on the tokenization/language support part, we'll be happy to help!
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...
What are some alternatives?
pagefind - Static low-bandwidth search at scale
rum - RUM access method - inverted index with additional information in posting lists
ElasticPress - A fast and flexible search and query engine for WordPress.
tbls - tbls is a CI-Friendly tool for document a database, written in Go.
MeiliSearch - A lightning-fast search API that fits effortlessly into your apps, websites, and workflow
pg-ulid - ULID Functions for PostgreSQL
sql - Query your data using familiar SQL or intuitive Piped Processing Language (PPL)
pgvector - Open-source vector similarity search for Postgres
redb - An embedded key-value database in pure Rust
postgres-elasticsearch-fd
zincsearch - ZincSearch . A lightweight alternative to elasticsearch that requires minimal resources, written in Go.
js-id - ID generation for JavaScript & TypeScript Applications