Live data from Hacker News

Bleve – A modern text indexing library for Go

github.com

21–25 of 25 posts

Re: Bleve – A modern text indexing library for Go

#21
post #20

Any plans to support the lucene query parser syntax?

We have support for limited version of it right now. The syntax we support is documented here:

https://github.com/blevesearch/bleve/wiki/Query-String-Query

You can see an example query using it executed here:

http://wikisearch.blevesearch.com/search/?q=name:query%20%2B...

A few things that are missing from the syntax. Numeric ranges only support simple one-sided syntax (age:>25), not a two-sided range (age:[25 to 30]). Date ranges aren't supported yet. Complex boolean expressions using parens, AND and OR. Those are things that we support in structured queries, just haven't wired up the grammar for it yet. There are handful of others we don't support at all yet, like wildcard, and proximity searches.

The grammar is also still pretty simple, with an emphasis on making simple things work, not on things like escaping special characters within expressions.

Re: Bleve – A modern text indexing library for Go

#22
post #8

Wishful thinking: I hope this prefaces an Elasticsearch rewrite in Go. I'm happy to be rid of the JVM wherever I find it. No hard feelings, but we just spent 20 years crowbaring Microsoft into irrelevance. It's time to get started on Larry.

The problem with Elasticsearch is not the JVM.

A sample of the problems I have:

a) Broken, hand-rolled consensus/consistency model [1]

b) Designing cluster layout is a bit of a "black art" due to missing/incomplete documentation and complexity of cluster options.

c) Promiscuous network activity with default settings: spin up a new node and it will cluster with any existing ES nodes automatically.

That's just the beginning. ES is a bit of an operations nightmare to deal with--it's an example of enormous complexity just for a fairly simple service (text search).

1. http://aphyr.com/posts/317-call-me-maybe-elasticsearch

Re: Bleve – A modern text indexing library for Go

#23
post #8

Wishful thinking: I hope this prefaces an Elasticsearch rewrite in Go. I'm happy to be rid of the JVM wherever I find it. No hard feelings, but we just spent 20 years crowbaring Microsoft into irrelevance. It's time to get started on Larry.

Why on earth would you rewrite ElasticSearch in Go ? You would have woeful monitoring support compared to the huge array of tooling for JVM, an average GC implementation and almost zero integration with most enterprise applications e.g. Hadoop. All so what, you can go from one multinational (Oracle) to another (Google).

I could totally imagine wanting to rewrite ElasticSearch, and go seems like a reasonable language to do it in. ES seems to handle downtime extremely poorly, and is very difficult to make "safe" for people to write arbitrary queries against it. And by difficult I mean there is circuit breaker and nought else.

Re: Bleve – A modern text indexing library for Go

#24
post #8

Wishful thinking: I hope this prefaces an Elasticsearch rewrite in Go. I'm happy to be rid of the JVM wherever I find it. No hard feelings, but we just spent 20 years crowbaring Microsoft into irrelevance. It's time to get started on Larry.

Presumably you just want to replace the _Oracle_ JVM? Does OpenJDK meet your needs? How about Dalvik / ART or RoboVM? I'd love to hear what you're trying to achieve here ... I have often bemoaned the JVM, but have also found that it's often better than many alternatives.

Whenever you get in trouble with Elasticsearch, the first question a consultant will ask is, "why aren't you running the Oracle JVM?"

Technically it supports OpenJDK. In practice, circumstance usually drags you to Oracle.

Re: Bleve – A modern text indexing library for Go

#25

Earlier quoted context omitted.

Why on earth would you rewrite ElasticSearch in Go ? You would have woeful monitoring support compared to the huge array of tooling for JVM, an average GC implementation and almost zero integration with most enterprise applications e.g. Hadoop. All so what, you can go from one multinational (Oracle) to another (Google).

>All so what, you can go from one multinational (Oracle) to another (Google). Or from one Larry to another.

Valid, though I never have to click through any kind of EULA crap to use Go.

So long as Go is supported in gcc, I'm not particularly worried.

Post reply on HN