Skip to content
A search engine for programming language based on ruby and redis
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Take a look to Er Zauker, the Evolution of this Project

Code Zauker Project is currently superseded by Er Zauker,

Er Zauker is a new implementation of Code Zauker ideas, and it is based on Erlang and Redis.

This repository is left here for historical reasons. For future Code Zauker improvements/evolutions take a look to

Code Zauker: your code, indexed

Code Zauker is a search engine for programming languages. Code Zauker is based from ideas taken by old Google Code Search and uses Redis as storage engine.

For news and discussion:


And an happy coding year! 2013

Version 0.1.0 spot an auto-reindexing system, 3-gram size and a new command, czlist. CodeZauker will store a MD5 checksum for every file and reindex automatically changed files. There is a small API change: FileScanner>>load will no longer accept noReload because it will automatically use md5 to undestand if a reindex is needed. Anyway, client code should relay on FileScanner>>reindex to force a reindex of a file. This feature is still beta but works pretty well.

When a lot of reindexing is involved, performance can drop hard under 2 files per sec

Version 0.1.0 spot also a new command, czlist which simplify integration with unix tool-chain. czlist access directly to code zauker core to show only the filename which could contains the searchstring. czlist is ideal for IDE integration


To install Code Zauker,simply issue

gem install code_zauker

You need also redis-2.4.6 or better. For a sample redis configuration see the etc/ directory of the project

Try it out

To index all your files

The following command will index all the code file below full_path_of_sources providing a feedback on standard output

czindexer -v /full_path_of_sources/

If your redis server is on another machine, you can use the following command

czindexer --redis-server myredisserver  -v /full_path_of_sources/

Also authentication over redis is supported:

czindexer --redis-server password@rediserverpwp  -v /full_path_of_sources/

To search for the ‘my_beautiful_method’ try out:

czsearch  my_beautiful_method

Looking case insensitive can be userful too….

czsearch -i  'Select USER_id'

Tip:Take a look to czindex and czsearch commands help for full options list

Web interface

There is a new shiny web interface based on sinatra. To try it out, fire


It is still beta, but it is very fast, thank to redis!

Parallel execution

If you want to speed up indexing, you can use the mczindexer command. For instance:

mczindexer eclipse-sources/

will fire at most 10 parallel czindexer.

Simple stats

You can ask code zauker to print a nice stats on standard output. Run


and enjoy!

MS-Windows Compatibility

Grab your windows redis server at Version 0.0.9 and 0.1.0 has been successful tested with Redis 2.4.5 32bit version You will find a redis-win.conf example to give you a fast-startup

Release History

0.1.0Added czlist command which supersedes czsearch.
Czindex now spot a better auto redindexing feature
Removed hiredis dependency for easier installation under ms-windows
0.0.912 Oct 2012Removed case sensitive backend to improve space use. Er Zauker Compatibility.
Tested on MSWin
0.0.804 Jun 2012Wildcard (*) search/better error handling of missed files/indexchecker
0.0.713 May 2012Better documentation, mczindexer, new report command
0.0.604 May 2012New redis-server option. Better web search with results hilight
0.0.509 Apr 2012Added Sinatra-based web search page, featuring bootrstrap css
0.0.412 Feb 2012PDF Searching
0.0.303 Feb 2012Added Case insensitive search.UTF-8 trigram database
0.0.229 Jan 2012Removed dependency on unix find for czindexer.
0.0.126 Jan 2012First RubyGems Release (for testing purpose only)


For developing with Code Zauker you need bundler 1.0.21 or above See file for more information


At the time of writing, indexing emacs-lisp file is a very slow task.

You can’t perform that action at this time.