Helpful Searching Tips

Wildcard Searches

To perform a single character wildcard search use the ? symbol.

For example, to search for "woman" or "women" you can use the search:

wom?n

To perform a multiple character, 0 or more, wildcard search use the * symbol.

For example, to search for test, tests or tester, you can use the search:

test*

You can also use the wildcard searches in the middle of a term.

te*t

Note: You cannot use a * or ? symbol as the first character of a search.

Fuzzy Searches

Use the tilde ~ symbol at the end of a Single word Term. For example, to search for variant spellings of "Tchaikovsky," use the fuzzy search:

Tchaikovsky~

An additional parameter can specify the required similarity. The value is between 0 and 1, with a value closer to 1 only terms with a higher similarity will be matched. For example:

Tchaikovsky~0.8

The default that is used if the parameter is not given is 0.5.

Proximity Searches

Use the tilde ~ symbol at the end of a Multiple word Term. For example, to search for economics and keynes that are within 10 words apart:

"economics Keynes"~10
Range Searches

To perform a range search you can use the { } characters. For example to search for a term that starts with either A, B, or C:

{A TO C}

The same can be done with numeric fields such as the Year:

[2002 TO 2003]
Boosting a Term

To apply more value to a term, you can use the ^ character. For example, you can try the following search:

economics Keynes^5

Which will give more value to the term "Keynes"

Boolean Operators

Boolean operators allow terms to be combined with logic operators. The following operators are allowed: AND, +, OR, NOT and -.

Note: Boolean operators must be ALL CAPS

AND

The AND operator is the default conjunction operator. This means that if there is no Boolean operator between two terms, the AND operator is used. The AND operator matches records where both terms exist anywhere in the field of a record.

To search for records that contain "economics" and "Keynes" use the query:

economics Keynes

or

economics AND Keynes
+

The "+" or required operator requires that the term after the "+" symbol exist somewhere in the field of a record.

To search for records that must contain "economics" and may contain "Keynes" use the query:

+economics Keynes
OR

The OR operator links two terms and finds a matching record if either of the terms exist in a record.

To search for documents that contain either "economics Keynes" or just "Keynes" use the query:

"economics Keynes" OR Keynes
NOT

The NOT operator excludes records that contain the term after NOT.

To search for documents that contain "economics" but not "Keynes" use the query:

economics NOT Keynes

Note: The NOT operator cannot be used with just one term. For example, the following search will return no results:

NOT economics
-

The - or prohibit operator excludes documents that contain the term after the "-" symbol.

To search for documents that contain "economics" but not "Keynes" use the query:

economics -Keynes
Whoops! There was an error.
Whoops \ Exception \ ErrorException (E_WARNING)
fopen(/tmp/vufind_sessions/sess_30vnoh2lvna35fgm18h67jojk2): failed to open stream: No space left on device Whoops\Exception\ErrorException thrown with message "fopen(/tmp/vufind_sessions/sess_30vnoh2lvna35fgm18h67jojk2): failed to open stream: No space left on device" Stacktrace: #5 Whoops\Exception\ErrorException in /usr/local/vufind/module/VuFind/src/VuFind/Session/File.php:151 #4 fopen in /usr/local/vufind/module/VuFind/src/VuFind/Session/File.php:151 #3 VuFind\Session\File:saveSession in /usr/local/vufind/module/VuFind/src/VuFind/Session/AbstractBase.php:185 #2 VuFind\Session\AbstractBase:write in [internal]:0 #1 session_write_close in /usr/local/vufind/vendor/laminas/laminas-session/src/SessionManager.php:235 #0 Laminas\Session\SessionManager:writeClose in [internal]:0
5
Whoops\Exception\ErrorException
/module/VuFind/src/VuFind/Session/File.php151
4
fopen
/module/VuFind/src/VuFind/Session/File.php151
3
VuFind\Session\File saveSession
/module/VuFind/src/VuFind/Session/AbstractBase.php185
2
VuFind\Session\AbstractBase write
[internal]0
1
session_write_close
/vendor/laminas/laminas-session/src/SessionManager.php235
0
Laminas\Session\SessionManager writeClose
[internal]0
        foreach (glob($this->path . "/sess_*") as $filename) {
            if (filemtime($filename) + $maxlifetime < time()) {
                unlink($filename);
            }
        }
        return true;
    }
 
    /**
     * A function that is called internally when session data is to be saved.
     *
     * @param string $sessId The current session ID
     * @param string $data   The session data to write
     *
     * @return bool
     */
    protected function saveSession($sessId, $data)
    {
        $sessFile = $this->path . '/sess_' . $sessId;
        if ($handle = fopen($sessFile, "w")) {
            $return = fwrite($handle, $data);
            fclose($handle);
            if ($return !== false) {
                return true;
            }
        }
        // If we got this far, something went wrong with the file output...
        // It is tempting to throw an exception here, but this code is called
        // outside of the context of exception handling, so all we can do is
        // echo a message.
        echo 'Cannot write session to ' . $sessFile . "\n";
        return false;
    }
}
 
        foreach (glob($this->path . "/sess_*") as $filename) {
            if (filemtime($filename) + $maxlifetime < time()) {
                unlink($filename);
            }
        }
        return true;
    }
 
    /**
     * A function that is called internally when session data is to be saved.
     *
     * @param string $sessId The current session ID
     * @param string $data   The session data to write
     *
     * @return bool
     */
    protected function saveSession($sessId, $data)
    {
        $sessFile = $this->path . '/sess_' . $sessId;
        if ($handle = fopen($sessFile, "w")) {
            $return = fwrite($handle, $data);
            fclose($handle);
            if ($return !== false) {
                return true;
            }
        }
        // If we got this far, something went wrong with the file output...
        // It is tempting to throw an exception here, but this code is called
        // outside of the context of exception handling, so all we can do is
        // echo a message.
        echo 'Cannot write session to ' . $sessFile . "\n";
        return false;
    }
}
 
        // Anecdotal testing Today and Yesterday seems to indicate destroy()
        //   is called by the garbage collector and everything is good.
        // Something to keep in mind though.
        return true;
    }
 
    /**
     * Write function that is called when session data is to be saved.
     *
     * @param string $sessId The current session ID
     * @param string $data   The session data to write
     *
     * @return bool
     */
    public function write($sessId, $data)
    {
        if ($this->writesDisabled) {
            return true;
        }
        return $this->saveSession($sessId, $data);
    }
 
    /**
     * A function that is called internally when session data is to be saved.
     *
     * @param string $sessId The current session ID
     * @param string $data   The session data to write
     *
     * @return bool
     */
    abstract protected function saveSession($sessId, $data);
}
 
     *
     * @return void
     */
    public function writeClose()
    {
        // The assumption is that we're using PHP's ext/session.
        // session_write_close() will actually overwrite $_SESSION with an
        // empty array on completion -- which leads to a mismatch between what
        // is in the storage object and $_SESSION. To get around this, we
        // temporarily reset $_SESSION to an array, and then re-link it to
        // the storage object.
        //
        // Additionally, while you _can_ write to $_SESSION following a
        // session_write_close() operation, no changes made to it will be
        // flushed to the session handler. As such, we now mark the storage
        // object isImmutable.
        $storage  = $this->getStorage();
        if (! $storage->isImmutable()) {
            $_SESSION = $storage->toArray(true);
            session_write_close();
            $storage->fromArray($_SESSION);
            $storage->markImmutable();
        }
    }
 
    /**
     * Attempt to set the session name
     *
     * If the session has already been started, or if the name provided fails
     * validation, an exception will be raised.
     *
     * @param  string $name
     * @return SessionManager
     * @throws Exception\InvalidArgumentException
     */
    public function setName($name)
    {
        if ($this->sessionExists()) {
            throw new Exception\InvalidArgumentException(
                'Cannot set session name after a session has already started'

Environment & details:

Key Value
topic search
_ 1669318652
empty
empty
empty
Key Value
__Laminas Array ( [_REQUEST_ACCESS_TIME] => 1670581127.4205 [_VALID] => Array ( [Laminas\Session\Validator\Id] => 30vnoh2lvna35fgm18h67jojk2 ) )
SessionState Laminas\Stdlib\ArrayObject Object ( [storage:protected] => Array ( [cookiePath] => / ) [flag:protected] => 2 [iteratorClass:protected] => ArrayIterator [protectedProperties:protected] => Array ( [0] => storage [1] => flag [2] => iteratorClass [3] => protectedProperties ) )
Key Value
USER www-data
HOME /var/www
SCRIPT_NAME /vufind/index.php
REQUEST_URI /vufind/Help/Home?topic=search&_=1669318652
QUERY_STRING topic=search&_=1669318652
REQUEST_METHOD GET
SERVER_PROTOCOL HTTP/1.1
GATEWAY_INTERFACE CGI/1.1
REDIRECT_QUERY_STRING topic=search&_=1669318652
REDIRECT_URL /vufind/Help/Home
REMOTE_PORT 60496
SCRIPT_FILENAME /usr/local/vufind/public/index.php
SERVER_ADMIN [no address given]
CONTEXT_DOCUMENT_ROOT /usr/local/vufind/public
CONTEXT_PREFIX /vufind
REQUEST_SCHEME https
DOCUMENT_ROOT /var/www/vufind
REMOTE_ADDR 44.201.99.222
SERVER_PORT 443
SERVER_ADDR 46.226.109.80
SERVER_NAME www.rebal.info
SERVER_SOFTWARE Apache/2.4.25 (Debian)
SERVER_SIGNATURE <address>Apache/2.4.25 (Debian) Server at www.rebal.info Port 443</address>
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HTTP_CONNECTION Keep-Alive
HTTP_HOST www.rebal.info
HTTP_ACCEPT_ENCODING br,gzip
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_USER_AGENT CCBot/2.0 (https://commoncrawl.org/faq/)
proxy-nokeepalive 1
SSL_TLS_SNI www.rebal.info
HTTPS on
VUFIND_LOCAL_MODULES rebal
VUFIND_LOCAL_DIR /usr/local/vufind/local
VUFIND_ENV development
SCRIPT_URI https://www.rebal.info/vufind/Help/Home
SCRIPT_URL /vufind/Help/Home
REDIRECT_STATUS 200
REDIRECT_SSL_TLS_SNI www.rebal.info
REDIRECT_HTTPS on
REDIRECT_VUFIND_LOCAL_MODULES rebal
REDIRECT_VUFIND_LOCAL_DIR /usr/local/vufind/local
REDIRECT_VUFIND_ENV development
REDIRECT_SCRIPT_URI https://www.rebal.info/vufind/Help/Home
REDIRECT_SCRIPT_URL /vufind/Help/Home
FCGI_ROLE RESPONDER
PHP_SELF /vufind/index.php
REQUEST_TIME_FLOAT 1670581127.3802
REQUEST_TIME 1670581127
empty
0. Whoops\Handler\PrettyPageHandler
Cannot write session to /tmp/vufind_sessions/sess_30vnoh2lvna35fgm18h67jojk2 Whoops! There was an error.
Whoops \ Exception \ ErrorException (E_WARNING)
session_write_close(): Failed to write session data using user defined save handler. (session.save_path: /var/lib/php/sessions) Whoops\Exception\ErrorException thrown with message "session_write_close(): Failed to write session data using user defined save handler. (session.save_path: /var/lib/php/sessions)" Stacktrace: #2 Whoops\Exception\ErrorException in /usr/local/vufind/vendor/laminas/laminas-session/src/SessionManager.php:235 #1 session_write_close in /usr/local/vufind/vendor/laminas/laminas-session/src/SessionManager.php:235 #0 Laminas\Session\SessionManager:writeClose in [internal]:0
2
Whoops\Exception\ErrorException
/vendor/laminas/laminas-session/src/SessionManager.php235
1
session_write_close
/vendor/laminas/laminas-session/src/SessionManager.php235
0
Laminas\Session\SessionManager writeClose
[internal]0
     *
     * @return void
     */
    public function writeClose()
    {
        // The assumption is that we're using PHP's ext/session.
        // session_write_close() will actually overwrite $_SESSION with an
        // empty array on completion -- which leads to a mismatch between what
        // is in the storage object and $_SESSION. To get around this, we
        // temporarily reset $_SESSION to an array, and then re-link it to
        // the storage object.
        //
        // Additionally, while you _can_ write to $_SESSION following a
        // session_write_close() operation, no changes made to it will be
        // flushed to the session handler. As such, we now mark the storage
        // object isImmutable.
        $storage  = $this->getStorage();
        if (! $storage->isImmutable()) {
            $_SESSION = $storage->toArray(true);
            session_write_close();
            $storage->fromArray($_SESSION);
            $storage->markImmutable();
        }
    }
 
    /**
     * Attempt to set the session name
     *
     * If the session has already been started, or if the name provided fails
     * validation, an exception will be raised.
     *
     * @param  string $name
     * @return SessionManager
     * @throws Exception\InvalidArgumentException
     */
    public function setName($name)
    {
        if ($this->sessionExists()) {
            throw new Exception\InvalidArgumentException(
                'Cannot set session name after a session has already started'
     *
     * @return void
     */
    public function writeClose()
    {
        // The assumption is that we're using PHP's ext/session.
        // session_write_close() will actually overwrite $_SESSION with an
        // empty array on completion -- which leads to a mismatch between what
        // is in the storage object and $_SESSION. To get around this, we
        // temporarily reset $_SESSION to an array, and then re-link it to
        // the storage object.
        //
        // Additionally, while you _can_ write to $_SESSION following a
        // session_write_close() operation, no changes made to it will be
        // flushed to the session handler. As such, we now mark the storage
        // object isImmutable.
        $storage  = $this->getStorage();
        if (! $storage->isImmutable()) {
            $_SESSION = $storage->toArray(true);
            session_write_close();
            $storage->fromArray($_SESSION);
            $storage->markImmutable();
        }
    }
 
    /**
     * Attempt to set the session name
     *
     * If the session has already been started, or if the name provided fails
     * validation, an exception will be raised.
     *
     * @param  string $name
     * @return SessionManager
     * @throws Exception\InvalidArgumentException
     */
    public function setName($name)
    {
        if ($this->sessionExists()) {
            throw new Exception\InvalidArgumentException(
                'Cannot set session name after a session has already started'

Environment & details:

Key Value
topic search
_ 1669318652
empty
empty
empty
Key Value
__Laminas Array ( [_REQUEST_ACCESS_TIME] => 1670581127.4205 [_VALID] => Array ( [Laminas\Session\Validator\Id] => 30vnoh2lvna35fgm18h67jojk2 ) )
SessionState Laminas\Stdlib\ArrayObject Object ( [storage:protected] => Array ( [cookiePath] => / ) [flag:protected] => 2 [iteratorClass:protected] => ArrayIterator [protectedProperties:protected] => Array ( [0] => storage [1] => flag [2] => iteratorClass [3] => protectedProperties ) )
Key Value
USER www-data
HOME /var/www
SCRIPT_NAME /vufind/index.php
REQUEST_URI /vufind/Help/Home?topic=search&_=1669318652
QUERY_STRING topic=search&_=1669318652
REQUEST_METHOD GET
SERVER_PROTOCOL HTTP/1.1
GATEWAY_INTERFACE CGI/1.1
REDIRECT_QUERY_STRING topic=search&_=1669318652
REDIRECT_URL /vufind/Help/Home
REMOTE_PORT 60496
SCRIPT_FILENAME /usr/local/vufind/public/index.php
SERVER_ADMIN [no address given]
CONTEXT_DOCUMENT_ROOT /usr/local/vufind/public
CONTEXT_PREFIX /vufind
REQUEST_SCHEME https
DOCUMENT_ROOT /var/www/vufind
REMOTE_ADDR 44.201.99.222
SERVER_PORT 443
SERVER_ADDR 46.226.109.80
SERVER_NAME www.rebal.info
SERVER_SOFTWARE Apache/2.4.25 (Debian)
SERVER_SIGNATURE <address>Apache/2.4.25 (Debian) Server at www.rebal.info Port 443</address>
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HTTP_CONNECTION Keep-Alive
HTTP_HOST www.rebal.info
HTTP_ACCEPT_ENCODING br,gzip
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_USER_AGENT CCBot/2.0 (https://commoncrawl.org/faq/)
proxy-nokeepalive 1
SSL_TLS_SNI www.rebal.info
HTTPS on
VUFIND_LOCAL_MODULES rebal
VUFIND_LOCAL_DIR /usr/local/vufind/local
VUFIND_ENV development
SCRIPT_URI https://www.rebal.info/vufind/Help/Home
SCRIPT_URL /vufind/Help/Home
REDIRECT_STATUS 200
REDIRECT_SSL_TLS_SNI www.rebal.info
REDIRECT_HTTPS on
REDIRECT_VUFIND_LOCAL_MODULES rebal
REDIRECT_VUFIND_LOCAL_DIR /usr/local/vufind/local
REDIRECT_VUFIND_ENV development
REDIRECT_SCRIPT_URI https://www.rebal.info/vufind/Help/Home
REDIRECT_SCRIPT_URL /vufind/Help/Home
FCGI_ROLE RESPONDER
PHP_SELF /vufind/index.php
REQUEST_TIME_FLOAT 1670581127.3802
REQUEST_TIME 1670581127
empty
0. Whoops\Handler\PrettyPageHandler