Jive Search is the open source search engine that does not track you. Search privately, now : https://jivesearch.com
The below will build and run a Docker Compose file for Elasticsearch, OpenResty (Nginx), PostgreSQL, Redis, and a NSFW/image classification server. The OpenResty build assumes you have a domain name as well as a Let's Encrypt SSL certificate. However, in order for the nginx.conf file to dynamically load your SSL certificate you will need to create a symlink to a generic "domain" folder (replace "example.com" with your domain). For local development you can skip this step.
$ ln -s /etc/letsencrypt/live/example.com /etc/letsencrypt/live/domainInstall and run
$ go get -u github.com/jivesearch/jivesearch
$ cd $GOPATH/src/github.com/jivesearch/jivesearch/docker
$ domain=example.com && data_directory=/path/to/data && sudo mkdir -p $data_directory/elasticsearch && sudo chown 1000:1000 $data_directory/elasticsearch && sudo DATA_DIRECTORY=$data_directory ES_HEAP=2g NGINX_DOMAIN=$domain docker-compose upFor local development you don't need a Let's Encrypt certificate. You can simply access http://127.0.0.1:8000 directly.
Elasticsearch may give you an error about max virtual memory areas. In that case:
# Add the following to the bottom of /etc/sysctl.conf:
vm.max_map_count=262144For local development we recommend setting an environment variable for your !bangs to speed up loading:
export JIVESEARCH_BANGS_PATH="/path/to/file"For systemd settings (replace "myuser" below and edit env variables as needed):
sudo curl -o /etc/systemd/system/frontend.service https://gist.githubusercontent.com/brentadamson/7b8117347909cc38384fed589a3d785d/raw/19a4249931adf0ea60326a6bcb89813bf328e87a/frontendsudo curl -o /etc/systemd/system/images.service https://gist.githubusercontent.com/brentadamson/daafa09f8d06eb401e0eb72c2b992261/raw/357e66de29d56739ae41d61cbe227d36819e0df4/imagessudo curl -o /etc/systemd/system/crawler.service https://gist.githubusercontent.com/brentadamson/0880ef548130f69c2537049a550be8e8/raw/42269dfcba6d86aba49bc56ffa7e60a9eb7ebdf3/crawler(The crawler is only necessary if you don't use a third-party search provider like Yandex.)
$ cd $GOPATH/src/github.com/jivesearch/jivesearch/instant/wikipedia/cmd/dumper && go run dumper.go --workers=2 --dir=/path/to/dump/files --wikipedia=true --wikidata=true --wikiquote=true --wiktionary=true --truncate=400 --delete=trueLocation data is not logged but is used for local weather
$ sudo add-apt-repository ppa:maxmind/ppa
$ sudo apt update && sudo apt install geoipupdate
$ sudo nano /usr/local/etc/GeoIP.conf
AccountID 0
LicenseKey 000000000000
EditionIDs GeoLite2-City GeoLite2-Country
$ sudo crontab -e
56 3 * * 4 /usr/bin/geoipupdateInstructions for MusicBrainz (to show the album discography instant answer) can be found here.
Our goal is to create a search engine that respects your privacy AND delivers great search results, instant answers, maps, image search, news, and more.
Marked items indicate progress has been made in that category. There is much more to do in each area. Suggestions are welcome!
- Privacy
- !Bangs
- Core Search Results & Distributed Crawler
- Advanced Search (exact phrase, dogs OR cats, -cats, site/domain search, etc.)
- Filetype search
- Language & Region
- Phrase Suggester (a.k.a. "Did You Mean?")
- Proxy
- SafeSearch
- Time Search (past year/month/day/hour, etc.
- 3rd party search providers
- Yandex API
- Autocomplete
- Instant Answers
- Birthstone, camelcase, characters, coin toss, frequency, POTUS, prime, random, reverse, stats, user agent, etc.
- Breach (a.k.a. have i been pwned)
- Discography/Music albums
- Economic stats (GDP, population)
- Flight Info & Status
- JavaScript-based answers
- Basic calculator
- Mortgage, financial and other calculators
- CSS/JavaScript/JSON/etc minifier and prettifier
- Converters (foreign exchange, meters to feet, mb to gb, etc...)
- Basic calculator
- Maps
- Package Tracking (UPS, FedEx, USPS, etc...)
- Stack Overflow
- Stock Quotes & Charts
- Weather
- Wikipedia summary
- Wikidata answers (how tall is, birthday, etc.)
- Wikiquote
- Wiktionary
- Many more instant answers (including from 3rd party APIs)
- Translate trigger words and answers to other languages?
- Image Search
- Video Search
- News
- Shopping
- Custom CSS Themes
Jive Search's documentation is hosted on GoDoc Page here.
Want to contribute? Great!
Search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue here.
You can also join us in our chatroom at https://discord.gg/cfxQkuh or contact us on Twitter @jivesearch.
Code and documentation copyright 2018 the Jive Search Authors. Code and docs released under the Apache License.