go-sstables
Yacy
go-sstables | Yacy | |
---|---|---|
4 | 115 | |
255 | 3,272 | |
- | 1.3% | |
4.0 | 8.7 | |
2 months ago | 5 days ago | |
Go | Java | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
go-sstables
- GitHub - thomasjungblut/go-sstables: Go library for protobuf compatible sstables, a skiplist, a recordio format and other database building blocks like a write-ahead log. Ships now with an embedded key-value store.
-
I want to dive into how to make search engines
I've never worked on a project that encompasses as many computer science algorithms as a search engine. There are a lot of topics you can lookup in "Information Storage and Retrieval":
- Tries (patricia, radix, etc...)
- Trees (b-trees, b+trees, merkle trees, log-structured merge-tree, etc..)
- Consensus (raft, paxos, etc..)
- Block storage (disk block size optimizations, mmap files, delta storage, etc..)
- Probabilistic filters (hyperloloog, bloom filters, etc...)
- Binary Search (sstables, sorted inverted indexes, roaring bitmaps)
- Ranking (pagerank, tf/idf, bm25, etc...)
- NLP (stemming, POS tagging, subject identification, sentiment analysis etc...)
- HTML (document parsing/lexing)
- Images (exif extraction, removal, resizing / proxying, etc...)
- Queues (SQS, NATS, Apollo, etc...)
- Clustering (k-means, density, hierarchical, gaussian distributions, etc...)
- Rate limiting (leaky bucket, windowed, etc...)
- Compression
- Applied linear algebra
- Text processing (unicode-normalization, slugify, sanitation, lossless and lossy hashing like metaphone and document fingerprinting)
- etc...
I'm sure there is plenty more I've missed. There are lots of generic structures involved like hashes, linked-lists, skip-lists, heaps and priority queues and this is just to get 2000's level basic tech.
- https://github.com/quickwit-oss/tantivy
- https://github.com/valeriansaliou/sonic
- https://github.com/mosuka/phalanx
- https://github.com/meilisearch/MeiliSearch
- https://github.com/blevesearch/bleve
- https://github.com/thomasjungblut/go-sstables
A lot of people new to this space mistakenly think you can just throw elastic search or postgres fulltext search in front of terabytes of records and have something decent. The problem is that search with good rankings often requires custom storage so calculations can be sharded among multiple nodes and you can do layered ranking without passing huge blobs of results between systems.
-
What's the big deal about key-value databases like FoundationDB ands RocksDB?
I highly recommend people comfortable with Go checkout the building blocks at https://github.com/thomasjungblut/go-sstables
This codebase shows how SSTables, WAL, memtables, skiplists, segment files, and plenty of other storage engine components work in a digestible way. Includes a demo database showing how it all comes together.
- Understanding LSM Trees: What Powers Write-Heavy Databases
Yacy
- New ways we're tackling spammy, low-quality content on Search
- YaCy, a distributed Web Search Engine, based on a peer-to-peer network
-
New 60% of OpenAI model's responses contain plagiarism
It turns out you can make it all the way to become president of Harvard [1] while ignoring this rule so it is questionable whether it is as set in stone as you make it out to be, at least in certain disciplines.
In a way these models are a perfect mirror of the current academic climate. They plagiarise without remorse, they follow the latest identity-politics diktat to a point and make up 'facts' when needed to reach a desired narrative. Google Gemini is the latest example [2] of where this leads.
Given that it is plausible that models like these will soon be used in educational settings this is a recipe for disaster. The same goes for the trend to replace search engine results with 'interpreted' results in which LLMs take up the same role as Winston in 1984: Winston works in the Ministry of Truth where he alters historical records to fit the needs of the Party.
It is time for a decentralised distributed search engine which limits itself to pure search, something like YaCy [3]. Something to replace Winstonian search engines like Google and Bing (et al.).
[1] https://www.campusreform.org/article/claudine-gay-is-a-dei-h...
[2] https://news.ycombinator.com/item?id=39465255
[3] https://yacy.net/
-
Is Google Getting Worse? A Longitudinal Investigation of SEO Spam in Search [pdf]
> Now I just need some kind of open source search engine to run on it ...
Here you go: https://yacy.net
-
Welcome to mwmbl, the free, open-source and non-profit search engine
I remember https://yacy.net/ but the big problem of this project was java and had not implementations in others languages. I mean it as imagine torrent was only in perl.
-
admarus alternatives - ipfs-search and Yacy
3 projects | 9 Aug 2023
Admarus is similar as Yacy but aims to be distributed where Yacy is federated. Both are made for the web
- Brave Search launches own image and video search
-
Show HN: DiskerNet – Browse the Internet from Your Disk, Now Open Source
You should check out https://yacy.net: a global, P2P web search engine, where each peer can build and share its own index, etc.
-
How do you organize your data?
I also have an instance of Yacy installed, which I use to index the entire system, giving me my own private, internal search engine.
- Ask HN: Best search engine alternatives to Google?
What are some alternatives?
search-engines - Reviewing alternative search engines
Searx - Privacy-respecting metasearch engine
phalanx - Phalanx is a cloud-native distributed search engine that provides endpoints through gRPC and traditional RESTful API.
MeiliSearch - A lightning-fast search API that fits effortlessly into your apps, websites, and workflow
pytai - Kaitai Struct: Visualizer and Hex Viewer GUI in Python
searxng - SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.
hse - HSE: Heterogeneous-memory storage engine
Gigablast - Nov 20 2017 -- A distributed open source search engine and spider/crawler written in C/C++ for Linux on Intel/AMD. From gigablast dot com, which has binaries for download. See the README.md file at the very bottom of this page for instructions.
mitta-screenshot - Mitta's Chrome extension for saving the current view of a website.
Seeks - Seeks is a decentralized p2p websearch and collaborative tool.
search-lib - A library of classes which can be used to build a search engine.
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