Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build Status


The K-Search is the interface of the search component for the K-Link project. It consists of a set of APIs that enable third party clients to:

  1. send data to be analyzed by the K-Search internal engine and
  2. perform a full-text search over such data.


K-Search can be installed on most operating systems. The setup is heavily based on Docker.


Simplest installation

These few commands allow you to quickly install a K-Search locally on your computer for testing purposes.

  • Create a directory: mkdir k-search && cd k-search
  • Download configuration file: curl -o docker-compose.yml
  • Start up services: docker-compose up -d (when running this for the first time, it will download a lot of data and take a while)
  • Visit your K-Search: http://localhost:8080/docs (no login is required in the default setup).


The general documentation is located under the docs folder.

Here is a brief table of contents for the most important parts:


The K-Search is implemented in PHP (v7.1.x) by using the Symfony framework. The project structure follows the latest Symfony (v4.x) recommendation, as available at Symfony Architecture page.

Setup using Vagrant

This project uses Drifter to provide a replicable development environment, where most of the needed configurations and external services are installed and configured.

The only requirement is a working installation of Vagrant. Drifter supports both VirtualBox and the LXC containers, choose the one that best suits your needs. Refer to the Drifter documentation for further details about its requirements and configuration.

To create working instance of a VM for the K-Search development and testing run the following commands:

  1. Obtain the K-Search code: git clone --recursive
  2. Start the VM and let Drifter provision it: vagrant up

The K-Search VM will be available at http://ksearch.test.


The K-Search uses a set of Open Source technologies to support the full-text search and data handling/manipulation functionality:


Contributions to the K-Search API are accepted by opening a Pull Request on the project page on GitHub.

  1. the code must conform to the Symfony Coding Standards;
  2. the code must be covered by tests (PHPUnit, ...);
  3. a changelog is provided with a summary of the changes.

The K-Search API code is regularly checked with the following tools:


This project is licensed under the AGPL v3 license, see LICENSE.txt.


A common api for full text based retrieval. Used for the K-Link and the K-Box.




No packages published