A ridiculously simple search engine


Keywords
search, text, mining, natural, language, processing, engine
License
Apache-2.0
Install
pip install grub==0.1.1

Documentation

grub

A ridiculously simple search engine

Example: Search code

from grub import SearchStore
import sklearn  # instead of talking any file, let's search the files of sklearn itself!

path_format = os.path.dirname(sklearn.__file__) + '{}.py'
search = SearchStore(path_format)

Let's search for ANN. That stands for Artificial Neural Networks. Did you know? Well search figures it out, pretty early, that I was talking about neural networks.

search('ANN')  
array(['sklearn/tree/_export.py', 'sklearn/linear_model/_least_angle.py',
       'sklearn/feature_selection/_base.py',
       'sklearn/feature_selection/tests/test_variance_threshold.py',
       'sklearn/neural_network/tests/test_stochastic_optimizers.py',
       'sklearn/neural_network/__init__.py',
       'sklearn/neural_network/_stochastic_optimizers.py',
       'sklearn/neural_network/_multilayer_perceptron.py',
       'sklearn/neural_network/rbm.py',
       'sklearn/neural_network/tests/test_rbm.py'], dtype='<U75')

Let's search for something more complicated. Like a sentence. The results show promise promises: It's about calibration, but related are robustness, feature selection and validation...

search('how to calibrate the estimates of my classifier')  
array(['sklearn/covariance/_robust_covariance.py',
       'sklearn/svm/_classes.py',
       'sklearn/covariance/_elliptic_envelope.py',
       'sklearn/neighbors/_lof.py', 'sklearn/ensemble/_iforest.py',
       'sklearn/feature_selection/_rfe.py', 'sklearn/calibration.py',
       'sklearn/model_selection/_validation.py',
       'sklearn/ensemble/_forest.py', 'sklearn/ensemble/_gb.py'],
      dtype='<U75')