View Source Superls (superls v1.1.2)

A multi volumes files indexer and search engine elixir CLI (Linux).

Indexing

superls analyzes the filenames of a volume, extracts the filename tags and other file attributes such as size, and builds an index for the volume.

Unless a store name is given (-s), volume indexes are grouped together in the default store.

Stores are saved compressed and optionally password encrypted.

The following command creates an index of /path/to/my/files in the default store :

superls archive /path/to/my/files

or on store mystore with stdin password encryption :

superls archive /path/to/my/files -s mystore -p

The command to search tags in the default store with the CLI is :

superls search

An interactive shell asks for commands like query by a list of tags separated by space, a tag can be incomplete.<br> The result is a list of matched files.

Other CLI commands

For help, getting stores details ... :

superls

What is parsed ?

superls tokenizes filenames with the following delimiters :

  ",", " ", "_", "-", ".", "*", "/", "(", ")", ":", "\t", "\n"

Collected tags are grouped with some files attributes like the file size.<br> See ListerFile{}struct for more details about collected data.

Tags and file attributes constitute the index entry for the file.

Discarding files and tags from indexing

Files with an extension present in ./priv/banned_file_ext are not indexed.

Tags present in ./priv/banned_tags are not indexed.

jaro search

by size search

Summary

Functions

Link to this function

decrypt(index, password)

View Source
Link to this function

encrypt(index, password)

View Source
Link to this function

maybe_create_cache_path()

View Source
Link to this function

maybe_create_dir(store, confirm?)

View Source
@spec string_to_numeric(binary()) :: float() | number() | nil