I do not have a beef with the author, at all, in any way, but, LOL, that is anything but elementary.
Furthermore,
>> this post will not implement full text search.
...makes their solution or specifically, their index, not very "Lucene-like". Which is why I had objections to their title, not their blog post. Their blog post is fine :)
Storage is one of the problems you'll need to solve, when doing "Lucene from scratch". Indices are another. Full-text indices implemented from scratch: hard and interesting.
Like most tutorials, surely it's a simple implementation that breaks things down into simple code so that you can see how things work at a more fundamental level and follow along, not something that's going to satisfy ACID properties and compete with Lucene.
Way too much guff in these comments.
I think people were just disappointed that the article was more about writing a database-like API than an actual database.
Edit: not facetious. I very much enjoy reading your blog posts and HN comments.
How you save/retrieve bytes isn't the interesting part of this blog post as it's elementary. He could have just defined an interface { save(id, doc), get(id) } and moved on.
If anyone seriously wanted to try to follow along with this code, googling how to use the filesystem in Go isn't beyond them. They'd have their own implementation from scratch just as the blog promises.