2015-04-16 01:41:07 +00:00
|
|
|
# Reactive Search #
|
2015-03-22 07:56:57 +00:00
|
|
|
|
2015-03-22 09:02:11 +00:00
|
|
|
This work-in-progress represents a prototype semantic search application that I'm developing as part of my master's
|
|
|
|
thesis at [Keio University](http://www.sfc.keio.ac.jp/). You can get a better understanding of the goals of this system
|
2015-03-31 00:03:20 +00:00
|
|
|
by referring to the [overview](http://foosoft.net/dl/search/) presentation. The prototype is open-source and those who
|
|
|
|
are interested are encouraged to [clone the project](https://github.com/FooSoft/search) and tinker with it. You may also
|
|
|
|
access a [live snapshot](http://foosoft.net:8080/) of the prototype on my server.
|
2015-03-22 07:56:57 +00:00
|
|
|
|
2015-03-22 09:02:11 +00:00
|
|
|
This installation guide is designed with [Ubuntu](http://www.ubuntu.com/)-based distributions in mind (I'm using [Linux
|
|
|
|
Mint](http://www.linuxmint.com/) for development), but I expect it to be trivial to get this application running on
|
|
|
|
other flavors of Linux. If you run into any problems, let me know.
|
2015-03-22 07:56:57 +00:00
|
|
|
|
2015-04-16 01:41:07 +00:00
|
|
|
## System Dependencies ##
|
2015-03-22 07:56:57 +00:00
|
|
|
|
2015-03-22 09:02:11 +00:00
|
|
|
Execute the command `apt-get install package_name` to install the packages listed below (must be root).
|
2015-03-22 07:56:57 +00:00
|
|
|
|
|
|
|
* `mysql-server`
|
|
|
|
* `nodejs-legacy`
|
2015-03-26 08:43:05 +00:00
|
|
|
* `nodejs`
|
2015-03-22 07:56:57 +00:00
|
|
|
* `npm`
|
|
|
|
|
2015-03-26 08:43:05 +00:00
|
|
|
In addition to these packages, you will need to have a recent version of the [Go](https://golang.org/project/) compiler
|
|
|
|
installed on your system to build and execute the server code. The easiest way to get the latest version is to use the
|
|
|
|
[godeb](https://github.com/niemeyer/godeb) tool to install it for you. After downloading the appropriate binary package,
|
2015-04-16 01:41:07 +00:00
|
|
|
execute the `./godeb install` command to do this. Once you have the Go environment configured on your computer, you can
|
|
|
|
install this package by executing the following command:
|
2015-03-26 08:43:05 +00:00
|
|
|
|
2015-04-16 01:41:07 +00:00
|
|
|
`go get github.com/FooSoft/search`
|
|
|
|
|
|
|
|
## Global Node.js Dependencies ##
|
2015-03-22 07:56:57 +00:00
|
|
|
|
2015-03-22 09:02:11 +00:00
|
|
|
Execute the command `npm install -g package_name` to install the packages listed below (must be root).
|
2015-03-22 07:56:57 +00:00
|
|
|
|
|
|
|
* `bower`
|
|
|
|
|
2015-04-16 01:41:07 +00:00
|
|
|
## Database Initialization ##
|
2015-03-22 07:56:57 +00:00
|
|
|
|
|
|
|
1. Execute `./db/init.sh` to create the required database and associated user. You will be prompted for the mysql root
|
2015-03-22 09:02:11 +00:00
|
|
|
password; if you do not have one configured you may proceed by inputting an empty string.
|
2015-03-22 07:56:57 +00:00
|
|
|
2. Load the initial data tables by running `./db/load.sh`. You may perform this step again at a later time if you wish
|
|
|
|
to reset the contents of the database to their original state.
|
|
|
|
|
2015-04-16 01:41:07 +00:00
|
|
|
## Client and Server Initialization ##
|
2015-03-22 07:56:57 +00:00
|
|
|
|
2015-03-26 08:43:05 +00:00
|
|
|
1. From the `static` directory, execute the command `bower install`.
|
|
|
|
2. From the base directory, build the server with the command `go build`.
|
|
|
|
3. From the base directory, launch the server by launching the `server` executable.
|
|
|
|
4. You should now be able to access the web application at [localhost:8080](http://localhost:8080).
|