elman 🐧
A script for full text searching Linux man pages with Elasticsearch.
It has been developed to play around with the idea described in this post.
How does it work
Given that you have a running Elasticsearch instance, the script creates an index named elman
and feeds it with the man pages of your Linux system using the apropos .
command to get all available pages. Then you can use it to full text search the man pages as simple as:
elman concatenate files
Installation
It is a Ruby script so you must have the language installed.
Clone this repository and from withing the script's directory execute:
bundle
to install the elasticsearch
gem and its dependencies.
Note
If you don't have bundler on your system, install it with:
gem install bundler
Setup the Elasticsearch index
To setup the index and load the man pages use:
./elman -s
or
./elman --setup
Changing defaults
The script creates a file under your home directory named .elman.yml
. Change its contents to match your setup:
---
:elasticsearch:
:host: localhost
:port: '9200'
:search_results_size: 10
Usage
Full text search
To search the man pages, use:
elman <query>
Example:
elman edit images
TODO
- Improve search definition
Contributing
- Fork it ( https://github.com/iridakos/elman/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
License
This tool is open source under the MIT License terms.