A distributed, index based, search engine.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
mvn install
cp config.dist.json config.json
mvn jetty:run
You can now connect to the API at http://localhost:8080/.
A working get
request could be /db/tables
.
You can also find the API documentation of your running instance at http://localhost:8080/docs/
JUnit is used for the tests. You can run it with Maven:
mvn test
not deployable yet...
The API documentation can be found online. Or if you want to consult you local instance documentation you can access http://localhost:8080/docs/ while the server is running.
While the server is running, here are some queries you can run to test the API:
PUT /db/tables
with the following body:
[
{
"name": "taxi2newYork",
"allColumns": [
{"name": "vendor_id", "type": "Byte"},
{"name": "tpep_pickup_datetime", "type": "Date"},
{"name": "tpep_dropoff_datetime", "type": "Date"},
{"name": "passenger_count", "type": "Byte"},
{"name": "trip_distance", "type": "Float"},
{"name": "pickup_longitude", "type": "Double"},
{"name": "pickup_latitude", "type": "Double"},
{"name": "rate_code_id", "type": "Byte"},
{"name": "store_and_fwd_flag", "type": "String", "size": "1"},
{"name": "dropoff_longitude", "type": "Double"},
{"name": "dropoff_latitude", "type": "Double"},
{"name": "payment_type", "type": "Byte"},
{"name": "fare_amount", "type": "Float"},
{"name": "extra", "type": "Float"},
{"name": "mta_tax", "type": "Float"},
{"name": "tip_amount", "type": "Float"},
{"name": "tolls_amount", "type": "Float"},
{"name": "improvment_surcharge", "type": "Float"},
{"name": "total_amount", "type": "Float"}
]
}
]
GET /db/tables
should return the table we just created.
POST /table/{tableName}/load
with taxi2newYork
as tableName and the content of testdata/SMALL_100_000_yellow_tripdata_2015-04.csv
as the body.
PUT /table/{tableName}/index
with taxi2newYork
as tableName and the following body:
{
"name": "index_vendor_id",
"columnsToIndex": [
"vendor_id"
],
"type": "dichotomy"
}
See also the list of contributors who participated in this project.