Skip to content

tools4j/stacked-off

Repository files navigation

StackedOff is a Stack Exchange site indexer and search engine. It's intended use is for people who wish to access Stack Exchange Network site(s), e.g. stackoverflow.com, but do not have a reliable internet service. StackedOff uses the 'stack dump' data files made public by the Stack Exchange Network.

Installation

  1. Download the latest zip version from here, and unzip into your desired location.
  2. Ensure you have a version of a Java JRE installed which is version 8 or higher.
  3. Ensure your JAVA_HOME environment variable is pointing to this java home directory.

Aquiring StackExchange Data Dumps

  1. Get the 'BitTorrent Infohash' from here.
  2. Use your preferred BitTorrent (e.g. uTorrent) client to download a, or part of a Data Dump.

Note: Most BitTorrent clients allow you to pick and choose which files within a Torrent that you wish to download. You will probably want to limit the files that you download, as some of them can be quite large. Most of the sites are in individual 7z files. Except for stackoverflow.com which is broken up into a few seperate archives. If downloading stackoverflow.com, ensure you download the Posts, Users, and Comments files.

Important: You must include in your download the Sites.xml file that is present in every data dump.

Important: Once downloaded, do NOT unzip the 7z site files. StackedOff can only read from the archived site files.

Running StackedOff

  • Call /path/to/stacked-off/bin/stacked (if running on Linux/MacOS)
  • Call C:\path\to\stacked-off\bin\stacked.bat (if running on Windows)

Launch a browser pointing at http://localhost and you should see the StackedOff GUI.

(NOTE: Your browser must be ES6 compatible. Please see the table here for browser version compatibility.)

Configure index dir

The first time that you run StackedOff you will be asked to specify an index directory. This is where StackedOff will store it's indexes. These indexes can get quite large if you are indexing large sites such as stackoverflow.com.

  • Make sure you have enough disk space.
  • It is preferable to use a local disk, as this will dramatically impact the speed of StackedOff.
  • It is preferable to use an SSD disk, as this will also impact the speed of StackedOff.

Load a site

Assuming you have downloaded a Stack Exchange site:

  1. click on the 'Add Site' button.
  2. Enter the path that contains the 7z file(s) and Sites.xml file that you previously downloaded. Click 'Next'
  3. Select the site(s) that you wish to index.
  4. Click 'Next'

Indexing can take some time. On my laptop (7th Gen i5, with SSD) indexing stackoverflow.com takes about 4 hours.

Search

You should now be able to search the loaded sites, using the search bar at the top of the StackedOff gui.

Changing the port that StackedOff uses

By default StackedOff launches on port 80. To change this, edit the file in your home directory .stackedoff/app.properties, and add a port setting, e.g.:

port=8080

Re-run StackedOff.

Acknowledgments

The guys at stackexchange.com. Who not only revolutionized the technical Q&A space, but also in the spirit of 'openness' admirably continue to allow free access to all of their Q&A data for all of their sites.

The Lucene indexing and search API.

JetBrains for creating and maintaining the awesome Kotlin JVM language.

More Screenshots

Question view

Selecting sites to index

About

Offline StackExchange indexer and search engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published