Name

NoSearch — specify databases on which Interchange-style searches cannot be performed

SYNOPSIS

database_name_glob ...

DESCRIPTION

Specify database names or globs that will be matched against the databases used in any attempted search. You may separate multiple match strings with whitespace, and may include shell-style wildcards (globs).

The default setting is userdb, which means that, by default, you cannot use Interchange-style searches on the userdb table.

DIRECTIVE TYPE AND DEFAULT VALUE

Catalog directive

EXAMPLES

Example: Defining NoSearch

Disable searching on userdb, and other databases beginning with "." or ending in ".secret".

NoSearch userdb  .*  *.secret

Example: Overriding NoSearch setting on a specific page

[calc] $Config->{NoSearch} = '' [/calc]

For a discussion on why this example works (and works per-page), see configuration glossary entry.


NOTES

This directive only disables Interchange file/database-based searches; pure SQL searches still work.

AVAILABILITY

NoSearch is available in Interchange versions:

4.6.0-5.9.0 (git-head)

SOURCE

Interchange 5.9.0:

Source: lib/Vend/Config.pm
Line 617

['NoSearch',         'wildcard',         'userdb'],

Source: lib/Vend/Config.pm
Line 3849 (context shows lines 3849-3869)

sub parse_wildcard {
my($var, $value) = @_;
return '' if ! $value;

$value =~ s/\./\\./g;
$value =~ s/\*/.*/g;
$value =~ s/\?/./g;
$value =~
  s[({(?:.+?,)+.+?})]
   [ local $_ = $1; tr/{,}/(|)/; $_ ]eg;
$value =~ s/\s+/|/g;
eval {  
  my $never = 'NeVAirBE';
  $never =~ m{$value};
};

if($@) {
  config_error("Bad regular expression in $var.");
}
return $value;
}

AUTHORS

Interchange Development Group

SEE ALSO

DocBook! Interchange!