Code Zauker Project is currently superseded by Er Zauker, https://github.com/daitangio/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 https://github.com/daitangio/er_zauker
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: http://gioorgi.com/tag/code-zauker/
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
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
There is a new shiny web interface based on sinatra. To try it out, fire
./bin/webgui
It is still beta, but it is very fast, thank to redis!
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.
You can ask code zauker to print a nice stats on standard output. Run
./bin/report.rb
and enjoy!
Grab your windows redis server at https://github.com/dmajkic/redis/downloads 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
Version | Date | Summary |
---|---|---|
0.1.0 | Added czlist command which supersedes czsearch. | |
Czindex now spot a better auto redindexing feature | ||
Removed hiredis dependency for easier installation under ms-windows | ||
0.0.9 | 12 Oct 2012 | Removed case sensitive backend to improve space use. Er Zauker Compatibility. |
Tested on MSWin | ||
0.0.8 | 04 Jun 2012 | Wildcard (*) search/better error handling of missed files/indexchecker |
0.0.7 | 13 May 2012 | Better documentation, mczindexer, new report command |
0.0.6 | 04 May 2012 | New redis-server option. Better web search with results hilight |
0.0.5 | 09 Apr 2012 | Added Sinatra-based web search page, featuring bootrstrap css |
0.0.4 | 12 Feb 2012 | PDF Searching |
0.0.3 | 03 Feb 2012 | Added Case insensitive search.UTF-8 trigram database |
0.0.2 | 29 Jan 2012 | Removed dependency on unix find for czindexer. |
0.0.1 | 26 Jan 2012 | First RubyGems Release (for testing purpose only) |
For developing with Code Zauker you need bundler 1.0.21 or above See devel.org file for more information
At the time of writing, indexing emacs-lisp file is a very slow task.