/gem-codesearch

Set up a full text code search engine for rubygems mirror

Primary LanguageRubyMIT LicenseMIT

gem-codesearch

gem-codesearch sets up a full text code search engine on mirror of rubygems. It use rubygems-mirror to mirror rubygems and codesearch for search engine.

400GB of free disk space is required to store the rubygems mirror, unpacked gems and codesearch index at 2016-01. It will be larger in future.

Usage

This creates "latest-gem" package in zoekt index.

# Install zoekt from GitHub repository: https://github.com/google/zoekt 
% gem install gem-codesearch
% mkdir $HOME/gem-codesearch        # Make a some directory
% cd $HOME/gem-codesearch
% gem-codesearch-setup all >& setup.log # It may take several days or more

If "gem-codesearch-setup all" fails due to network or server errors, try again to continue.

After the index is created, enjoy code search.

% zoekt -index_dir $HOME/gem-codesearch/zoekt-index sort_by

You can search without -index_dir option after creating the symlink named .zoekt to HOME directory

Usage without install

% sudo aptitude install codesearch  # https://github.com/google/codesearch
% gem install rubygems-mirror
% cd $HOME
% git clone https://github.com/akr/gem-codesearch.git
% cd gem-codesearch
% rake all >& setup.log             # It may take several days or more

Use milkode instead of zoekt

% gem install milkode
% milk init --default               # If you use milkode first time
% rake mirror unpack index_milkode >& setup.log

Use codesearch instead of zoekt

$ rake mirror unpack index_csearch

This creates a set of indexes for csearch in gem-codesearch/csearchindexes. Use a wrapper shell script to call csearch:

#!/bin/sh

export CSEARCHINDEX
for CSEARCHINDEX in /path/to/gem-codesearch/csearchindexes/?; do csearch "$@"; done

Links

Author

Tanaka Akira akr@fsij.org