Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


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

Tsakorpus 2.0

If you want to use Tsakorpus, download the most recent version from this repository.


Tsakorpus is a linguistic corpus search platform which uses elasticsearch for storing and querying data. It consists of a set of source convertors, an indexator and a web interface with a search engine. The source convertors transform a corpus in one of the several supported formats into a set of JSON documents in tsakorpus format. The indexator puts these documents into the database together with the frequency data for words that it calculates on the fly. The web interface, written in python+flask, allows the user to make complex queries using GUI and view the search results. The search queries are sent to the back-end as GET queries and transformed to JSON elasticsearch queries on the server. The search results are partly transformed to HTML on the server, sent back to the front-end as JSON through Ajax requests and displayed on the results page by a set of JavaScript/jQuery functions.

Tsakorpus supports corpora with morphological annotation, special gloss search, multi-word search, subcorpus selection, automatic transliteration, word distribution charts, parallel corpora, and media-aligned corpora. Multiple interface languages are supported with Flask-Babel.


All documentation is available here. If you are not sure if Tsakorpus is what you need, read the FAQ. If you want to set up a corpus, start here.

Feel free to ask questions or discuss Tsakorpus on the Discussions page or post issues.


Tsakorpus was tested on Windows and Ubuntu. Its dependencies are the following:

  • elasticsearch 7.x (tested on 7.6-7.12)
  • python >= 3.5
  • python modules: elasticsearch 7.x, flask, lxml, ijson, Flask-Babel, xlsxwriter (you can use requirements.txt)
  • for converting media-aligned corpora: ffmpeg
  • it is recommended to deploy tsakorpus through apache2 with wsgi or nginx

The following resources are used by tsakorpus, but do not need to be installed:


The software is distributed under MIT license (see LICENSE).