* 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: http://gioorgi.com/tag/code-zauker/ * NEWS ** 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 * INSTALL To install Code Zauker,simply issue #+BEGIN_SRC sh gem install code_zauker #+END_SRC You need also [[http://redis.io/][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 #+BEGIN_SRC sh czindexer -v /full_path_of_sources/ #+END_SRC If your redis server is on another machine, you can use the following command #+BEGIN_SRC sh czindexer --redis-server myredisserver -v /full_path_of_sources/ #+END_SRC Also authentication over redis is supported: #+BEGIN_SRC sh czindexer --redis-server password@rediserverpwp -v /full_path_of_sources/ #+END_SRC To search for the 'my_beautiful_method' try out: #+BEGIN_SRC sh czsearch my_beautiful_method #+END_SRC Looking case insensitive can be userful too.... #+BEGIN_SRC sh czsearch -i 'Select USER_id' #+END_SRC 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 #+BEGIN_SRC sh ./bin/webgui #+END_SRC 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: #+BEGIN_SRC sh mczindexer eclipse-sources/ #+END_SRC will fire at most 10 parallel czindexer. ** Simple stats You can ask code zauker to print a nice stats on standard output. Run #+BEGIN_SRC sh ./bin/report.rb #+END_SRC and enjoy! * MS-Windows Compatibility 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 * Release History | 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) | * DEVELOPING For developing with Code Zauker you need bundler 1.0.21 or above See devel.org file for more information * KNOWN BUGS / LIMITATIONS At the time of writing, indexing emacs-lisp file is a very slow task.