Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

heuriskó

The Greek verb "heuriskó" primarily means to find or discover something, whether it be a physical object, a person, or an abstract concept such as truth or understanding. It can also imply obtaining or acquiring something through effort or search. In the New Testament, it is often used in contexts where something lost is found, or where a truth or revelation is discovered. - BibleHub

This is designed to be a self-hostable API to store and search through any set of transcripts.

My intention is to provide a solution to search through sermons and related lectures to find ranked, relevant results containing the time-stamps of the original sources extremely fast.

I do recognize that this can have value beyond the particular scope for which it was made. Perhaps I will create something similar to index documents in the future.

Supported File Types

Commands

heurisko convert

Use the CLI to convert transcript files into the format that heurisko uses

heurisko host

Host all heurisko transcript files with API endpoints to be used by your application

Setup

Install heuriskó

This is not currently published anywhere so the installation is as follows:

git clone https://github.com/MasterTemple/heurisko.git
cd heurisko
cargo install --path .

Modify config.toml (optional)

Note: All necessary config files are generated by heurisko with defaults, this section is for modifying the defaults

The default location is ~/.config/heurisko/config.toml

# where all heurisko files are stored
data_dir = "/home/<your_username>/.local/share/heurisko"
# the number of results to return on each page for a given query/search
page_size = 50
# the amount of additional words that should be returned on each side of the found segment of words
context_size = 20

Add Transcripts to Library

Note: the relative path from the config.toml > data_dir will be used to identify the source later on (see below)

heurisko/
├── nested
│   ├── nested1.hsk # Identified as "nested/nested1"
│   ├── nested2.hsk # Identified as "nested/nested2"
│   └── nested3.hsk # Identified as "nested/nested3"
├── transcript1.hsk # Identified as "transcript1"
├── transcript2.hsk # Identified as "transcript2"
└── transcript3.hsk # Identified as "transcript3"

By default, all heurisko (.hsk) files are stored at ~/.local/share/heurisko/

Convert Individual Transcript

Given:

.
└── one_transcript.srt

Run:

heurisko convert "one_transcript.srt"

Results:

heurisko/
└── one_transcript.hsk

Convert Individual Transcript with Destination

Given:

.
└── one_transcript.srt

Run:

# It will create this directory if it doesn't exist
heurisko convert "one_transcript.srt" --destination "some/nested/folder"

Results:

heurisko/
└── some
    └── nested
        └── folder
            └── one_transcript.hsk

Convert Multiple Transcripts

Given:

transcripts/
├── nested
│   ├── nested1.srt
│   ├── nested2.srt
│   └── nested3.srt
├── transcript1.srt
├── transcript2.srt
└── transcript3.srt

Run:

heurisko convert "transcripts"

Results:

heurisko/
├── nested
│   ├── nested1.hsk
│   ├── nested2.hsk
│   └── nested3.hsk
├── transcript1.hsk
├── transcript2.hsk
└── transcript3.hsk

Convert Multiple Transcripts (Flattened)

Given:

transcripts/
├── nested
│   ├── nested1.srt
│   ├── nested2.srt
│   └── nested3.srt
├── transcript1.srt
├── transcript2.srt
└── transcript3.srt

Run:

heurisko convert "transcripts" --flatten

Results:

heurisko/
├── nested1.hsk
├── nested2.hsk
├── nested3.hsk
├── transcript1.hsk
├── transcript2.hsk
└── transcript3.hsk

Convert Multiple Transcripts with Destination

Given:

transcripts/
├── nested
│   ├── nested1.srt
│   ├── nested2.srt
│   └── nested3.srt
├── transcript1.srt
├── transcript2.srt
└── transcript3.srt

Run:

heurisko convert "transcripts" --destination "some/nested/folder"

Results:

heurisko/
└── some
    └── nested
        └── folder
            ├── nested
            │   ├── nested1.hsk
            │   ├── nested2.hsk
            │   └── nested3.hsk
            ├── transcript1.hsk
            ├── transcript2.hsk
            └── transcript3.hsk

Convert Multiple Transcripts with Destination (Flattened)

Given:

transcripts/
├── nested
│   ├── nested1.srt
│   ├── nested2.srt
│   └── nested3.srt
├── transcript1.srt
├── transcript2.srt
└── transcript3.srt

Run:

heurisko convert "transcripts" --destination "some/nested/folder" --flatten

Results:

heurisko/
└── some
    └── nested
        └── folder
            ├── nested1.hsk
            ├── nested2.hsk
            ├── nested3.hsk
            ├── transcript1.hsk
            ├── transcript2.hsk
            └── transcript3.hsk

Host heurisko

heurisko host

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages