duckdf
MeiliSearch
Our great sponsors
duckdf | MeiliSearch | |
---|---|---|
3 | 129 | |
41 | 43,397 | |
- | 3.2% | |
0.0 | 9.8 | |
4 months ago | 4 days ago | |
R | Rust | |
GNU General Public License v3.0 only | 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.
duckdf
-
DuckDB – in-process SQL OLAP database management system
Quite a while ago, when duckdb was just a duckling, I wrote an R package that supported direct manipulation of R dataframes using SQL.[1] duckdb was the engine for this.
The approach was never as fast as data.table but did approach the speed of dplyr for more complex queries.
Life had other things in store for me and I haven’t touched this library for a while now.
At the time there was no Julia connector for duckdb, but now that there is, I’d like to try this approach in that language.
[1] https://github.com/phillc73/duckdf
-
ClickHouse as an alternative to Elasticsearch for log storage and analysis
Yeah, I agree sqldf is quite slow. Fair point.
As you've seen, duckdb registers an "R data frame as a virtual table." I'm not sure what they mean by "yet" either.
Of course it is possible to write an R dataframe to an on-disk duckdb table, if that's what you want to do.
There are some simple benchmarks on the bottom of the duckdf README[1]. Essentially I found for basic SQL SELECT queries, dplyr is quicker, but for much more complex queries, the duckdf/duckdb combination performs better.
If you really want speed of course, just use data.table.
[1] https://github.com/phillc73/duckdf
-
Julia 1.6: what has changed since Julia 1.0?
That's a really good point that I'd not really thought about. I'd never really considered the difference between calling just functions versus macros.
Thinking about Query.jl and DataFramesMeta.jl, and I am for sure not an expert in either, I can't specifically speak to your `head` example, but other base functions can be combined with macros. For example, see the LINQ examples from DataFramesMeta.jl[1] where `mean` is being used. Or again the LINQ style examples in Query.jl[2], where `descending` is used in the first example, or `length` later in the Grouping examples.
Is that the kind of thing you meant?
For whatever reason, with the way my brain is wired, the LINQ style of query just works for me. I have never directly used LINQ, but do have some SQL experience. In fact, I wrote some dinky little wrapper functions[3] around duckdb[4] so I could directly query R dataframes and datatables with SQL using that backend, rather than sqldf[5].
[1] https://juliadata.github.io/DataFramesMeta.jl/stable/#@linq-...
[2] https://www.queryverse.org/Query.jl/stable/linqquerycommands...
[3] https://github.com/phillc73/duckdf
[4] https://duckdb.org/
[5] https://cran.r-project.org/web/packages/sqldf/index.html
MeiliSearch
-
Publish/Subscribe with Sidekiq
We needed to introduce a new service for search. As we settled on using meilisearch, we needed a way to sync updates on our models with the records in meilisearch. We could've continued to use callbacks but we needed something better.
-
The Mechanics of Silicon Valley Pump and Dump Schemes
Meilisearch
-
What is Hybrid Search?
In this case, a good strategy is to use vector search only when the keyword/prefix search returns none or just a small number of results. A good candidate for this is MeiliSearch. It uses custom ranking rules to provide results as fast as the user can type.
-
Create a ChatBot with VertexAI and LibreChat
With the VertexAI endpoint set up and tested, our next step is to work with LibreChat. LibreChat is an open-source ChatGPT clone that can integrate with various AI models, including the PaLM 2 models via the VertexAI API. It's built using React, MongoDB, and Meilisearch technologies.
-
Pg_bm25: Elastic-Quality Full Text Search Inside Postgres
Meilisearch seems like it is the best open source option.
https://www.meilisearch.com/
- Looking for an easy installable search engine for a shared hosting account? Any ideas?
- Meilisearch: Build an intuitive search experience in a snap
-
Vector storage is coming to Meilisearch to empower search through AI
Starting with v1.3, you can use Meilisearch as a vector store. Meilisearch allows you to store vector embeddings alongside your documents conveniently. You will need to create the vector embeddings using your third-party tool of choice (Hugging Face, OpenAI). As we published the first v1.3 release candidate, you can try out vector search today.
-
[N] Open-source search engine Meilisearch launches vector search
I work at Meilisearch, an open-source search engine built in Rust. 🦀
-
Creating search engine for your local network - Is it even possible?
https://www.meilisearch.com/ https://github.com/meilisearch
What are some alternatives?
tidyquery - Query R data frames with SQL
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
zincsearch - ZincSearch . A lightweight alternative to elasticsearch that requires minimal resources, written in Go.
julia - The Julia Programming Language
Elasticsearch - Free and Open, Distributed, RESTful Search Engine
loki - Like Prometheus, but for logs.
Searx - Privacy-respecting metasearch engine
Makie.jl - Interactive data visualizations and plotting in Julia
sonic - 🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.
meilisearch-js-plugins - The search client to use Meilisearch with InstantSearch.
rust-postgres - Native PostgreSQL driver for the Rust programming language