Documentation ¶
Overview ¶
package config contains information needed to run gnmatcher project.
Index ¶
- type Config
- type Option
- func OptCacheDir(s string) Option
- func OptDataSources(ints []int) Option
- func OptJobsNum(i int) Option
- func OptMaxEditDist(i int) Option
- func OptNsqdContainsFilter(s string) Option
- func OptNsqdRegexFilter(s string) Option
- func OptNsqdTCPAddress(s string) Option
- func OptPgDB(s string) Option
- func OptPgHost(s string) Option
- func OptPgPass(s string) Option
- func OptPgPort(i int) Option
- func OptPgUser(s string) Option
- func OptWithSpeciesGroup(b bool) Option
- func OptWithWebLogs(b bool) Option
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 // NsqdTCPAddress provides an address to the NSQ messenger TCP service. If // this value is set and valid, the web logs will be published to the NSQ. // The option is ignored if `Port` is not set. // // If WithWebLogs option is set to `false`, but `NsqdTCPAddress` is set to a // valid URL, the logs will be sent to the NSQ messanging service, but they // wil not appear as STRERR output. // Example: `127.0.0.1:4150` NsqdTCPAddress string // NsqdContainsFilter logs should match the filter to be sent to NSQ // service. // Examples: // "api" - logs should contain "api" // "!api" - logs should not contain "apim NsqdContainsFilter string // NsqdRegexFilter logs should match the regular expression to be sent to // NSQ service. // Example: `api\/v(0|1)` NsqdRegexFilter *regexp.Regexp // WithSpeciesGroup is true when searching for "Aus bus" also searches for // "Aus bus bus". WithSpeciesGroup bool // WithWebLogs flag enables logs when running web-service. This flag is // ignored if `Port` value is not set. WithWebLogs bool }
Config collects and stores external configuration data.
func New ¶ added in v0.6.1
New is a Config constructor that takes external options to update default values to external ones.
func (Config) FiltersDir ¶
FiltersDir returns path where to dump/restore serialized bloom filters.
type Option ¶
type Option func(cfg *Config)
Option is a type of all options for Config.
func OptCacheDir ¶ added in v0.6.0
OptCacheDir sets a directory for key-value stores and temporary files.
func OptDataSources ¶ added in v0.9.9
OptDataSources sets ids to use for matching.
func OptJobsNum ¶
OptJobsNum sets the number of jobs to run in parallel
func OptMaxEditDist ¶
OptMaxEditDist sets maximal possible edit distance for fuzzy matching of stemmed canonical forms.
func OptNsqdContainsFilter ¶ added in v0.7.4
OptNsqdContainsFilter provides a filter for logs sent to NSQ service.
func OptNsqdRegexFilter ¶ added in v0.7.4
OptNsqdRegexFilter provides a regular expression filter for logs sent to NSQ service.
func OptNsqdTCPAddress ¶ added in v0.7.4
OptNsqdTCPAddress provides an address of NSQ messanging service.
func OptWithSpeciesGroup ¶ added in v0.9.6
OptWithSpeciesGroup sets the WithSpeciesGroup field
func OptWithWebLogs ¶ added in v0.6.1
OptWithWebLogs sets the WithWebLogs field.