cbess / Text Sherlock
Licence: other
Text (source code) search engine with indexer and a front end web interface to search. Uses Python 3.
Stars: ✭ 103
Programming Languages
python
139335 projects - #7 most used programming language
Projects that are alternatives of or similar to Text Sherlock
jack bunny
Inspired by Facebook's bunnylol search engine.
Stars: ✭ 19 (-81.55%)
Mutual labels: search-engine, flask-application
FUTURE
A private, free, open-source search engine built on a P2P network
Stars: ✭ 19 (-81.55%)
Mutual labels: search-engine, flask-application
Python Dependency Injector
Dependency injection framework for Python
Stars: ✭ 1,203 (+1067.96%)
Mutual labels: flask-application
Imageclassification
Deep Learning: Image classification, feature visualization and transfer learning with Keras
Stars: ✭ 83 (-19.42%)
Mutual labels: search-engine
Readingbricks
A structured collection of tagged notes about machine learning theory and practice endowed with search infrastructure that allows users to read requested info only.
Stars: ✭ 90 (-12.62%)
Mutual labels: search-engine
Simpleaudioindexer
Searching for the occurrence seconds of words/phrases or arbitrary regex patterns within audio files
Stars: ✭ 100 (-2.91%)
Mutual labels: search-engine
Digital Privacy
一个关于数字隐私搜集、保护、清理集一体的方案,外加开源信息收集(OSINT)对抗
Stars: ✭ 1,231 (+1095.15%)
Mutual labels: search-engine
Tutorialdb
A search 🔎 engine for programming/dev tutorials, See it in action 👉
Stars: ✭ 93 (-9.71%)
Mutual labels: search-engine
Dig Etl Engine
Download DIG to run on your laptop or server.
Stars: ✭ 81 (-21.36%)
Mutual labels: search-engine
Blindchat
a facebook messenger bot that allows users to chat with other people on facebook anonymously
Stars: ✭ 78 (-24.27%)
Mutual labels: flask-application
Black.box
Plug-and-Play VPN router and unblocker
Stars: ✭ 89 (-13.59%)
Mutual labels: flask-application
Thesaurus Of Job Titles
Open Source Thesaurus of Job Titles in US English
Stars: ✭ 77 (-25.24%)
Mutual labels: search-engine
Flask Rest Template
template for a rest app with flask, flask-rest and more...
Stars: ✭ 95 (-7.77%)
Mutual labels: flask-application
Xinahn Socket
一个开源,高隐私,自架自用的聚合搜索引擎。 https://xinahn.com
Stars: ✭ 77 (-25.24%)
Mutual labels: search-engine
Houndsploit
An advanced graphical search engine for Exploit-DB
Stars: ✭ 81 (-21.36%)
Mutual labels: search-engine
Docker Superset
Repository for Docker Image of Apache-Superset. [Docker Image: https://hub.docker.com/r/abhioncbr/docker-superset]
Stars: ✭ 86 (-16.5%)
Mutual labels: flask-application
Fsearch
A fast file search utility for Unix-like systems based on GTK+3
Stars: ✭ 1,370 (+1230.1%)
Mutual labels: search-engine
Text Sherlock (or Sherlock)
Provides a fast, easy to install and simple to use search engine for text, but optimized for source code. An alternative, OpenGrok, requires too much time to install (though it may be worth it for some), but is more feature rich. Text Sherlock will give you a much easier setup, a text indexer, and a web app interface for searching with very little effort.
Basic Setup
Instructions:
- Download Sherlock source from GitHub.
- Extract/place the Sherlock source code in the desired (install) directory. This will be where Sherlock lives.
- Run
sh setup/virtualenv-setup.sh
to setup an isolated environment and download core packages. - Configure settings. The defaults in
settings.py
provide documentation for each setting.- Copy
example.local_settings.yml
tolocal_settings.yml
. - Override/copy any setting from
settings.py
tolocal_settings.yml
(change the values as needed). All YAML keys/options must be lowercase.
- Copy
- Run
source sherlock_env/bin/activate
to enter the virtual environment. - Run
python main.py --index update
or--index rebuild
to index the path specified in the settings. Watch indexing output. - Run
python main.py --runserver
to start the web server. - Go to
http://localhost:7777
to access the web interface. Uses the Bootstrap toolkit for it's UI.
You may need to install some packages before a Ubuntu installation will run without error.
- Install curl:
sudo apt-get install curl
- Install uuid libs:
sudo apt-get install uuid-dev
- Install python dev:
sudo apt-get install python-dev
Includes:
- Settings/Configuration
- See
settings.py
for details.
- See
- Setup script (read contents of script for more information)
- Run
virtualenv-setup.sh
to perform an isolated installation.
- Run
- Main controller script
- Run
main.py -h
for more information.
- Run
- End-to-end interface
- Indexing and searching text (source code). Built-in support for whoosh (fast searching) or xapian (much faster searching).
- Easily extend indexing or searching via custom backends.
- Front end web app served using werkzeug or cheroot.
-
werkzeug
is for development to small traffic. -
cheroot
is the high-performance, pure-Python HTTP server used by CherryPy.
-
- Settings and configuration using Python.
- Indexing and searching text (source code). Built-in support for whoosh (fast searching) or xapian (much faster searching).
Web Interface
Features:
Append to document URL.
- To highlight lines, append to URL:
&hl=3,7,12-14,21
- To jump to a line, append to end of URL:
#line-3
Using other backends
In settings.py
:
- Change the
default_indexer
anddefault_searcher
values to match the name given to the backend.- Possible values:
-
whoosh
the default, no extra work needed. -
xapian
must be installed separately using the includedsetup/install-xapian.sh
setup script.
-
- Possible values:
Using other web servers
Text Sherlock has built-in support for werkzeug and cheroot WSGI compliant servers.
In settings.py
:
- Change the
server_type
value to one of the available server types.- Possible values:
-
default
, werkzeug web server (default). -
cheroot
, production ready web server.
-
- Possible values:
Core packages
Requires Python 3.5+
Other References
- https://pygments.org/
- http://docs.peewee-orm.com/
- https://cheroot.cherrypy.org/
- https://xapian.org/
- https://pyyaml.org/wiki/PyYAMLDocumentation
- https://zeptojs.com
Project Goals
- Provide an easy to setup, fast, and adequate text search engine solution.
- Be a respectable alternative to OpenGrok.
- Influence the OpenGrok contributors to provide a simpler setup process.
- I successfully setup two installations of OpenGrok on CentOS and Ubuntu 11.x. Each time it took more than two hours. Text Sherlock setup takes less than 5 minutes (excluding package download time).
Contributors
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].