config

package
v1.1.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2024 License: MIT Imports: 4 Imported by: 1

Documentation

Overview

package config contains information needed to run gnmatcher project.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// CacheDir is the main directory for gnmatcher files. It contains
	// bloom filters levenshtein automata trees, key-value stores etc.
	CacheDir string

	// DataSources can limit matching to provided dataSources. Such approach
	// helps to provide more accurate matches. For example if a searched name
	// `Aus bus bus` exists somewhere but not in a data-source with ID 5,
	// however this data-source contains 'Aus bus'. Setting DataSources to
	// []int{5} will ignore results from other sources, and will set
	// partial match, finding 'Aus bus' as with a MatchType of PartialMatch.
	DataSources []int

	// JobsNum is the number of jobs to run in parallel
	JobsNum int

	// MaxEditDist is the maximal allowed edit distance for levenshtein
	// automata. The number cannot exceed 2, default number is 1. The speed of
	// execution slows down dramatically with the MaxEditDist > 1.
	MaxEditDist int

	// PgDB the database name where gnames data is located.
	PgDB string

	// PgHost is a hostname for the PostgreSQL server.
	PgHost string

	// PgPass password to access PostgreSQL server.
	PgPass string

	// PgPort is the port of PostgreSQL server.
	PgPort int

	// PgUser is the user for the database.
	PgUser string

	// WithSpeciesGroup is true when searching for "Aus bus" also searches for
	// "Aus bus bus".
	WithSpeciesGroup bool

	// WithUninomialFuzzyMatch is true when it is allowed to use fuzzy match for
	// uninomial names.
	WithUninomialFuzzyMatch bool

	// WithRelaxedFuzzyMatch is true when it is allowed to use relaxed fuzzy
	// match.
	WithRelaxedFuzzyMatch bool
}

Config collects and stores external configuration data.

func New

func New(opts ...Option) Config

New is a Config constructor that takes external options to update default values to external ones.

func (Config) FiltersDir

func (cfg Config) FiltersDir() string

FiltersDir returns path where to dump/restore serialized bloom filters.

func (Config) StemsDir

func (cfg Config) StemsDir() string

StemsDir returns path where stems key-value store is located.

func (Config) TrieDir

func (cfg Config) TrieDir() string

TrieDir returns path where to dump/restore serialized trie.

func (Config) VirusDir

func (cfg Config) VirusDir() string

VirusDir returns path to cache virus matching data.

type Option

type Option func(cfg *Config)

Option is a type of all options for Config.

func OptCacheDir

func OptCacheDir(s string) Option

OptCacheDir sets a directory for key-value stores and temporary files.

func OptDataSources

func OptDataSources(ints []int) Option

OptDataSources sets ids to use for matching.

func OptJobsNum

func OptJobsNum(i int) Option

OptJobsNum sets the number of jobs to run in parallel

func OptMaxEditDist

func OptMaxEditDist(i int) Option

OptMaxEditDist sets maximal possible edit distance for fuzzy matching of stemmed canonical forms.

func OptPgDB

func OptPgDB(s string) Option

OptPgDB sets the name of gnames database

func OptPgHost

func OptPgHost(s string) Option

OptPgHost sets the host of gnames database

func OptPgPass

func OptPgPass(s string) Option

OptPgPass sets the password to access gnnames database

func OptPgPort

func OptPgPort(i int) Option

OptPgPort sets the port for gnames database

func OptPgUser

func OptPgUser(s string) Option

OptPgUser sets the user of gnnames database

func OptWithRelaxedFuzzyMatch added in v1.1.10

func OptWithRelaxedFuzzyMatch(b bool) Option

OptWithRelaxedFuzzyMatch sets an option that allows to fuzzy-match uninomial name-strings.

func OptWithSpeciesGroup

func OptWithSpeciesGroup(b bool) Option

OptWithSpeciesGroup sets the WithSpeciesGroup field

func OptWithUninomialFuzzyMatch added in v1.1.2

func OptWithUninomialFuzzyMatch(b bool) Option

OptWithUninomialFuzzyMatch sets an option that allows to fuzzy-match uninomial name-strings.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL