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.
Install dependencies:
- leveldb >= 1.15
- snappy (optional, only required for compressed data)
- Go > 1.3
and get the code:
export CGO_CFLAGS='-I <path/to/leveldb/include>'
export CGO_LDFLAGS='-L /home/secplus/projects/3rdparty/leveldb/'
go get -u -v github.com/NeowayLabs/neosearch
cd $GOPATH/src/github/NeowayLabs/neosearch
go test -tags leveldb -v .
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 git@github.com:NeowayLabs/neosearch.git
And build it:
make build
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:
make
Running the tests:
make check
Yeah, simple like that :D