Sign inSign up

appbaseio/arc

By appbaseio

•Updated about 5 years ago

Appbase.io's API gateway for a supercharged Elasticsearch experience.

Image
0

6.9K

appbaseio/arc repository overview

⁠ReactiveSearch 🍞 and appbase.io 🧈

This is an extended (and proprietary) version that extends ReactiveSearch API with following plugins:

  1. Actionable Analytics capture telemetry from the ReactiveSearch API and provide powerful search-driven insights into users, clicks, conversions, geographical distribution, slow searches and more.
  2. Search Relevance provides a REST API and point-and-click interface to deploy a search relevance strategy by being able to configure language, Search/Aggregation/Results settings, Query Rules.
  3. Application Cache provides a blazing fast search performance and improved thorughput for search.
  4. UI Builder allows creating Search and Recommendations UI widgets with no code.

A user can deploy appbase.io in cloud⁠, or use one-click installs for AWS, Heroku, Docker and Kubernetes. Get started with them over here⁠.

⁠Running ReactiveSearch API locally

In order to run ReactiveSearch API, you'll require an Elasticsearch node. There are multiple ways you can setup an Elasticsearch⁠, either locally or remotely. We, however, are delineating the steps for local setup of a single node Elasticsearch via it's Docker image.

Note: The steps described here assumes a docker⁠ installation on the system.

  1. Create a docker network

     docker network create reactivesearch
    
  2. Start a single node Elasticsearch cluster locally

     docker run -d --rm --name elasticsearch -p 9200:9200 -p 9300:9300 --net=reactivesearch -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
    
  3. Start ReactiveSearch locally

     docker build -t reactivesearch . && docker run --rm --name reactivesearch -p 8000:8000 --net=reactivesearch reactivesearch
    

For convenience, the steps described above are combined into a single docker-compose file. You can execute the file with command:

docker-compose up

⁠Building ReactiveSearch

To build from source you need Git⁠ and Go⁠ (version 1.11 or higher).

You can build the binary locally by executing the following command from the project directory:

make

This produces an executable & plugin libraries in the root project directory. To start the ReactiveSearch server, run:

./build/reactivesearch --log=info --env=config/manual.env

Alternatively, you could execute the following commands to start the server without producing an executable, (but still produce the plugin libraries):

make plugins
go run github.com/appbaseio/reactivesearch-api --log=info --env=config/manual.env

Note: Running the executable assumes an active Elasticsearch connection whose url is to be provided in the .env file. manual.env configures it to be the localhost.

⁠Logging

Define the run time flag (log) to change the default log mode, the possible options are:

⁠debug

Most verbose, use this to get logs for elasticsearch interactions.

⁠info

Prints the basic information

⁠error (default)

Only log the errors

Tag summary

Content type

Image

Digest

Size

258.3 MB

Last updated

about 5 years ago

docker pull appbaseio/arc