Superls (superls v1.2.3)

View Source

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

Indexing

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

Unless a store name is given (-s), all volume indexes are stored in the default store folder.

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, a string separated by space. A tag can be incomplete.<br> The result is a list of matched files.

Other CLI commands

For help, getting stores commands ... :

superls

What is parsed ?

superls tokenizes the filenames with the following delimiters :

  ",",  "_",  "-",  ".",  "*",  "/",
  "(",  ")",  ":",  "|",  "\"",  "[",  "]",
  "{",  "}",  "\t",  "\n",  " 

Collected tags are grouped with some files attributes, currently: size, mtime, atime.<br>

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

Returns decrypted from term with passwd

Returns encrypted from term with passwd

interrupt flow with the stores_pathmessage mg

Types

store()

@type store() :: String.t()

Functions

decrypt(index, password)

Returns decrypted from term with passwd

encrypt(index, password)

Returns encrypted from term with passwd

gets(msg, default)

halt(msg)

@spec halt(String.t()) :: no_return()

interrupt flow with the stores_pathmessage mg

string_to_numeric(val)

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