Live data from Hacker News

Bleve: Full-text search and indexing for Go

blevesearch.com

31–40 of 65 posts

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

#32
post #8

I actually used this recently in a small personal project, it's pretty good. It's not like Elastic or Solr, more like Lucene - which may very well be good enough for your use case. The index structures are stored in BoltDB (which stores in a flat file.) There are some issues, though. For example I think it's currently not possible to use the built-in query language to search Boolean values. So you might run into some…

I guess you could always encode them as 0/1

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

#34

Go fanboy here, we write almost everything in Go over here at Stream. I'm curious though, what made you build your own instead of using Elastic?

I can think of a few reasons. Primarily, this is easily embed-able. Not everything is a web-app/service.

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

#35
post #22

Core contributor here, happy to try and answer any questions. One of the big things we're working on at the moment is improving the release process. In addition to semantic versioning of the APIs we have to think through how it applies to the binary artifacts created. We want Go modules to be supported and be a part of the solution, but we are also mindful not to break things for existing users.

That is awesome one of the biggest pains I have with elasticsearch is how they so rapidly update major version number as like an excuse for breaking compatibility. IMO most important feature of a database is stability, this is something we get by maintaining compatibility with previous releases.

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

#36

Go fanboy here, we write almost everything in Go over here at Stream. I'm curious though, what made you build your own instead of using Elastic?

Bleve originated as part of a solution to a problem customers faced when using Couchbase. Almost all customers have at least some sort of search use case, but often times that use case isn't particularly complicated. Many of them were running an ES cluster, moving the data from Couchbase to ES with an adapter, and using that to solve their search use case.

However, many of those same users complained about having to operate another cluster, especially ones that weren't already using the JVM (since it was a skill set they didn't have).

So, the appeal was to offer a service that runs as a part of the Couchbase cluster. It wouldn't have to match every feature of ES, just shoot for 80/20 and customers would likely find it beneficial.

It was fortunate that Go was still growing in popularity within Couchbase at that time, and we were able to position Bleve as a true open-source component, on top of which some money-making value add could be layered.

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

#37
To the maintainers: what are the top 3-5 (or so) requested features, and do you plan to implement them?

Any thoughts on how Bleve compares with Xapian or Trinity (C++ libraries for full-text indexing)?

https://xapian.org/

https://github.com/phaistos-networks/Trinity

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

#39
post #26

I've also been working on a simple, fast, typo-tolerant search engine. Shameless plug: https://github.com/typesense/typesense

But, but... it's not in Go! :'(

Just teasing you.

You should contrast it with Xapian and Phaistos Trinity on your README.

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

#40
post #14

To get a feel for the size of Bleve, checkout this graph that shows commit rates doing into Bleve versus Elasticsearch and Vespa: http://blog.minimum.se/assets/elasticsearch-open-source-comm... If you don't need heavy lifting, then "sonic" implemented in rust is a really nice lean alternative too: https://github.com/valeriansaliou/sonic FWIW, that graph is from a blog post I published earlier today: http://blog.minim…

Great blog post! First one I've seen with good comparisons to the other options. I would recommend adding Xapiand too: https://github.com/Kronuz/Xapiand
Post reply on HN