A flexible, lightweight search platform
Haskell Makefile HTML JavaScript Shell Python Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
html-hunter
hunt-api only allow Query instead of T.Text in API Nov 5, 2016
hunt-cli
hunt-client bump lts to 10.5 and servant to 0.13 Feb 19, 2018
hunt-compression separate modules for DocIdSet and DocIdMap, newtype DocId May 2, 2014
hunt-crawler
hunt-demos
hunt-searchengine
hunt-server
hunt-test
.gitignore
.travis.yml
Makefile hunt changed to work with ghc-7.10.3 and lts-5.9 without warnings Mar 24, 2016
README.md
cabal.project
stack.yaml

README.md

Hunt Build Status Hunt on Hayoo!

Hunt is a flexible, lightweight search platform written in Haskell.

The default server implementation provides a powerful JSON-API and a simple web interface.

Features

  • Powerful query language
  • Schema support (numeric data, dates, geospatial data)
  • Granular ranking capabilities
  • JSON API
  • Extensible architecture

Installation

Dependencies
  • GHC: The Glasgow Haskell Compiler
  • Cabal: Haskell package management tool
Hunt Installation

The easiest way to get the setup started is to install the current Haskell Platform.

Linux

If you're using linux, you can use make for the build.

git clone https://github.com/hunt-framework/hunt.git
cd hunt
make sandbox install
Windows

If you're using Windows, you can use cabal for the build. If you would like to use sandboxes on Windows, you can copy the neccessary cabal commands from our Makefile.

git clone https://github.com/hunt-framework/hunt.git
cd hunt/hunt-server
cabal install

Getting Started

The following line starts the default server. The web interface is available at http://localhost:3000/.

make startServer

A small sample data set can be inserted with:

make insertJokes

FAQ

Can I run Hunt on a 32-bit machine?

No, we are using 64-bit hashes for our internal document IDs. Collisions are much more likely for 32-bit hashes and the available memory would be limited to 4GB.

Why is the CPU usage in idle so high?

GHC performs a a major garbage collection every 0.3 seconds in idle, which can be computationally expensive on a big index. This can be disabled with the GHC RTS option -I0.

Development / History

Hunt was started in 2013 by Ulf Sauer and Chris Reumann to improve and extend the existing Holumbus framework. Holumbus was developed in 2008-2009 by Timo B. Kranz and Sebastian M. Gauck and powers the current Haskell API search Hayoo!. We decided to rebrand, because Hunt represents a major rewrite and breaks compatibility.

A new Hayoo implementation is currently under development by Sebastian Philipp.

Both projects were developed at the FH Wedel under supervision and active support of Prof. Dr. Uwe Schmidt.