NeoSearch - Neoway Full Text Search Index
NeoSearch is a feature-limited full-text-search library with focus on indices relationships. Its main goal is to provide very fast JOIN operations between information stored on different indices.
It's not a complete FTS (Full Text Search) engine in the common sense, instead, it aims to solve very specific problems of FTS. At the moment, NeoSearch is a laboratory for research, not recommended for production usage. Here we will test various technologies for fast storage and search algorithms. In the future, maybe, we can be proud of a very nice tech for solving search problems in big data companies.
NeoSearch is like a Lucene library but without all of the complexities of a complete FTS engine, written in Go, and focused on high performance search with data relationships.
It's not complete yet, still in active development, so stay tuned for updates.
Why another text search engine ?
We believe to have good reasons on building a new text search engine.
Take a look at ours motives here
- snappy (optional, only required for compressed data)
- Go 1.4
and get the code:
go get -v -u -t github.com/NeowayLabs/neosearch/... cd $GOPATH/src/github.com/NeowayLabs/neosearch go test -v ./...
Storage LevelDB - Optional
- leveldb >= 1.15 (optional)
export CGO_CFLAGS='-I <path/to/leveldb/include>' export CGO_LDFLAGS='-L <path/to/leveldb/lib>' go get -tags leveldb -v -u -t github.com/NeowayLabs/neosearch/... cd $GOPATH/src/github.com/NeowayLabs/neosearch go test -tags leveldb -v ./lib/neosearch/store/leveldb ./...
Looking for some fun ? Starting to develop on NeoSearch is as easy as installing docker :D
First of all install Docker.
After you get docker installed, just get the code:
git clone firstname.lastname@example.org:NeowayLabs/neosearch.git
And build it:
If you get no errors, you are good to go :D. Just start messing around with the code on your preferred editor/IDE.
Compiling the code:
Running the tests:
Yeah, simple like that :D