Live data from Hacker News

Bleve: full-text search and indexing for Go

blevesearch.com

1–10 of 34 posts

Re: Bleve: full-text search and indexing for Go

#2
Well since someone submitted us here with no apparent reason or context, allow me to provide something of interest. (primary contributor of bleve here)

Just recently we merged support a new experimental index scheme called 'scorch'. This new index scheme is designed from the ground up to reduce index size and improve performance. It features:

- a segment based approach, much like Lucene

- vellum FTS for the term dictionary - https://github.com/couchbase/vellum

- roaring bitmaps for the postings lists - https://github.com/RoaringBitmap/roaring

- and compressed chunked integer storage for all the posting details

It's still experimental at this point, but shows considerable indexing speedup, index size reduction, and similar query performance to the old index format used today.

The code for this new index scheme can be found here: https://github.com/blevesearch/bleve/tree/master/index/scorc...

Re: Bleve: full-text search and indexing for Go

#3
post #2

Well since someone submitted us here with no apparent reason or context, allow me to provide something of interest. (primary contributor of bleve here) Just recently we merged support a new experimental index scheme called 'scorch'. This new index scheme is designed from the ground up to reduce index size and improve performance. It features: - a segment based approach, much like Lucene - vellum FTS for the term dict…

Since I didn't see it with a quick look, why call it bleve? Given the logo it's clearly a reference to Boiling Liquid Expanding Vapor Explosion, but that seems an odd choice of name with no relation to the project. Do you just like fire?

Re: Bleve: full-text search and indexing for Go

#4
post #2

Well since someone submitted us here with no apparent reason or context, allow me to provide something of interest. (primary contributor of bleve here) Just recently we merged support a new experimental index scheme called 'scorch'. This new index scheme is designed from the ground up to reduce index size and improve performance. It features: - a segment based approach, much like Lucene - vellum FTS for the term dict…

Since I didn't see it with a quick look, why call it bleve? Given the logo it's clearly a reference to Boiling Liquid Expanding Vapor Explosion, but that seems an odd choice of name with no relation to the project. Do you just like fire?

I was watching one of those engineering disaster shows and thought it would make a good name for a project. I didn't find any other software projects using the name, and it seemed like it would have decent googleability. The relationship to fire/explosions has given good themes for logos and sub-project names (like scorch).

Re: Bleve: full-text search and indexing for Go

#7
post #2

Well since someone submitted us here with no apparent reason or context, allow me to provide something of interest. (primary contributor of bleve here) Just recently we merged support a new experimental index scheme called 'scorch'. This new index scheme is designed from the ground up to reduce index size and improve performance. It features: - a segment based approach, much like Lucene - vellum FTS for the term dict…

The reason is most likely because they saw this on the front-page: https://news.ycombinator.com/item?id=16085873. I've noticed that people like to submit items that are tangentially related to those that popup on the front page.

Re: Bleve: full-text search and indexing for Go

#8
post #2

Well since someone submitted us here with no apparent reason or context, allow me to provide something of interest. (primary contributor of bleve here) Just recently we merged support a new experimental index scheme called 'scorch'. This new index scheme is designed from the ground up to reduce index size and improve performance. It features: - a segment based approach, much like Lucene - vellum FTS for the term dict…

Are there any plan to have sharding mechanism implemented on the blevesearch? IMHO it should be on the application level, but having this on blevesearch would be good.

Regarding segments based approach like lucene, means we will need to do segments merging which in my experience quite resource intensive. I don't actually know how blevesearch handles this prior segment based approach.

Re: Bleve: full-text search and indexing for Go

#9
post #8
post #2

Well since someone submitted us here with no apparent reason or context, allow me to provide something of interest. (primary contributor of bleve here) Just recently we merged support a new experimental index scheme called 'scorch'. This new index scheme is designed from the ground up to reduce index size and improve performance. It features: - a segment based approach, much like Lucene - vellum FTS for the term dict…

Are there any plan to have sharding mechanism implemented on the blevesearch? IMHO it should be on the application level, but having this on blevesearch would be good. Regarding segments based approach like lucene, means we will need to do segments merging which in my experience quite resource intensive. I don't actually know how blevesearch handles this prior segment based approach.

Bleve has support for querying across multiple indexes (shards) but does not prescribe any mechanism to split the data. So, it's up the application to divide the data how it sees fit, but you can use Bleve functionality to execute the same query across multiple indexes and merge the results.

Merging is required and is indeed somewhat resource intensive. Bleve's current indexing approach has no segments, instead all index data is serialized into a key/value store. This approach allowed us to experiment and plug-in a variety of implementations. Unfortunately, the key/value abstraction limits the way you interact with data, so there are a number of drawbacks. One key gain we get from the segmented approach vs the key/value store approach is that we no longer need to maintain a backindex to handle updates/deletes.

Re: Bleve: full-text search and indexing for Go

#10
post #9
post #8

Earlier quoted context omitted.

Are there any plan to have sharding mechanism implemented on the blevesearch? IMHO it should be on the application level, but having this on blevesearch would be good. Regarding segments based approach like lucene, means we will need to do segments merging which in my experience quite resource intensive. I don't actually know how blevesearch handles this prior segment based approach.

Bleve has support for querying across multiple indexes (shards) but does not prescribe any mechanism to split the data. So, it's up the application to divide the data how it sees fit, but you can use Bleve functionality to execute the same query across multiple indexes and merge the results. Merging is required and is indeed somewhat resource intensive. Bleve's current indexing approach has no segments, instead all i…

Yes and if I'm not mistaken that's what alias on bleve for.

Not yet looking into scorch. So scorch would replace other storage engine like rocksdb and leveldb?

Post reply on HN