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_rehsngokb0im2cbfpehnrprl1i): failed to open stream: No space left on device Whoops\Exception\ErrorException thrown with message "fopen(/tmp/vufind_sessions/sess_rehsngokb0im2cbfpehnrprl1i): 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
_ 1726685991
empty
empty
empty
Key Value
__Laminas Array ( [_REQUEST_ACCESS_TIME] => 1728000142.3393 [_VALID] => Array ( [Laminas\Session\Validator\Id] => rehsngokb0im2cbfpehnrprl1i ) )
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
REDIRECT_SCRIPT_URL /portal/Help/Home
REDIRECT_SCRIPT_URI https://library.arce.org/portal/Help/Home
REDIRECT_PERL5LIB /usr/share/koha/lib
REDIRECT_KOHA_CONF /etc/koha/sites/arce/koha-conf.xml
REDIRECT_VUFIND_ENV development
REDIRECT_VUFIND_LOCAL_DIR /usr/local/vufind/local
REDIRECT_VUFIND_LOCAL_MODULES CmsModule
REDIRECT_HTTPS on
REDIRECT_SSL_TLS_SNI library.arce.org
REDIRECT_STATUS 200
SCRIPT_URL /portal/Help/Home
SCRIPT_URI https://library.arce.org/portal/Help/Home
PERL5LIB /usr/share/koha/lib
KOHA_CONF /etc/koha/sites/arce/koha-conf.xml
VUFIND_ENV development
VUFIND_LOCAL_DIR /usr/local/vufind/local
VUFIND_LOCAL_MODULES CmsModule
HTTPS on
SSL_TLS_SNI library.arce.org
HTTP_USER_AGENT CCBot/2.0 (https://commoncrawl.org/faq/)
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5
HTTP_ACCEPT_ENCODING br,gzip
HTTP_HOST library.arce.org
HTTP_CONNECTION Keep-Alive
HTTP_SHIB_COOKIE_NAME
HTTP_SHIB_SESSION_ID
HTTP_SHIB_SESSION_INDEX
HTTP_SHIB_IDENTITY_PROVIDER
HTTP_SHIB_AUTHENTICATION_METHOD
HTTP_SHIB_AUTHENTICATION_INSTANT
HTTP_SHIB_AUTHNCONTEXT_CLASS
HTTP_SHIB_AUTHNCONTEXT_DECL
HTTP_SHIB_ASSERTION_COUNT
HTTP_SHIB_HANDLER https://library.arce.org/Shibboleth.sso
HTTP_EPPN
HTTP_META_EPPN
HTTP_AFFILIATION
HTTP_META_AFFILIATION
HTTP_UNSCOPED_AFFILIATION
HTTP_META_UNSCOPED_AFFILIATION
HTTP_ENTITLEMENT
HTTP_META_ENTITLEMENT
HTTP_TARGETED_ID
HTTP_META_TARGETED_ID
HTTP_PERSISTENT_ID
HTTP_META_PERSISTENT_ID
HTTP_CN
HTTP_META_CN
HTTP_SN
HTTP_META_SN
HTTP_GIVENNAME
HTTP_META_GIVENNAME
HTTP_INITIALS
HTTP_META_INITIALS
HTTP_UID
HTTP_META_UID
HTTP_MAIL
HTTP_META_MAIL
HTTP_ROOMNUMBER
HTTP_META_ROOMNUMBER
HTTP_SHADOWEXPIRE
HTTP_META_SHADOWEXPIRE
HTTP_ERRORURL
HTTP_META_ERRORURL
HTTP_DISPLAYNAME
HTTP_META_DISPLAYNAME
HTTP_SHIB_APPLICATION_ID
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SERVER_SIGNATURE <address>Apache/2.4.25 (Debian) Server at library.arce.org Port 443</address>
SERVER_SOFTWARE Apache/2.4.25 (Debian)
SERVER_NAME library.arce.org
SERVER_ADDR 145.239.254.35
SERVER_PORT 443
REMOTE_ADDR 98.80.143.34
DOCUMENT_ROOT /usr/share/koha/opac/htdocs
REQUEST_SCHEME https
CONTEXT_PREFIX /portal
CONTEXT_DOCUMENT_ROOT /usr/local/vufind/public
SERVER_ADMIN [no address given]
SCRIPT_FILENAME /usr/local/vufind/public/index.php
REMOTE_PORT 35806
REMOTE_USER
REDIRECT_URL /portal/Help/Home
REDIRECT_QUERY_STRING topic=search&_=1726685991
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD GET
QUERY_STRING topic=search&_=1726685991
REQUEST_URI /portal/Help/Home?topic=search&_=1726685991
SCRIPT_NAME /portal/index.php
PHP_SELF /portal/index.php
PHP_AUTH_USER
REQUEST_TIME_FLOAT 1728000142.2981
REQUEST_TIME 1728000142
empty
0. Whoops\Handler\PrettyPageHandler
Cannot write session to /tmp/vufind_sessions/sess_rehsngokb0im2cbfpehnrprl1i 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
_ 1726685991
empty
empty
empty
Key Value
__Laminas Array ( [_REQUEST_ACCESS_TIME] => 1728000142.3393 [_VALID] => Array ( [Laminas\Session\Validator\Id] => rehsngokb0im2cbfpehnrprl1i ) )
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
REDIRECT_SCRIPT_URL /portal/Help/Home
REDIRECT_SCRIPT_URI https://library.arce.org/portal/Help/Home
REDIRECT_PERL5LIB /usr/share/koha/lib
REDIRECT_KOHA_CONF /etc/koha/sites/arce/koha-conf.xml
REDIRECT_VUFIND_ENV development
REDIRECT_VUFIND_LOCAL_DIR /usr/local/vufind/local
REDIRECT_VUFIND_LOCAL_MODULES CmsModule
REDIRECT_HTTPS on
REDIRECT_SSL_TLS_SNI library.arce.org
REDIRECT_STATUS 200
SCRIPT_URL /portal/Help/Home
SCRIPT_URI https://library.arce.org/portal/Help/Home
PERL5LIB /usr/share/koha/lib
KOHA_CONF /etc/koha/sites/arce/koha-conf.xml
VUFIND_ENV development
VUFIND_LOCAL_DIR /usr/local/vufind/local
VUFIND_LOCAL_MODULES CmsModule
HTTPS on
SSL_TLS_SNI library.arce.org
HTTP_USER_AGENT CCBot/2.0 (https://commoncrawl.org/faq/)
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5
HTTP_ACCEPT_ENCODING br,gzip
HTTP_HOST library.arce.org
HTTP_CONNECTION Keep-Alive
HTTP_SHIB_COOKIE_NAME
HTTP_SHIB_SESSION_ID
HTTP_SHIB_SESSION_INDEX
HTTP_SHIB_IDENTITY_PROVIDER
HTTP_SHIB_AUTHENTICATION_METHOD
HTTP_SHIB_AUTHENTICATION_INSTANT
HTTP_SHIB_AUTHNCONTEXT_CLASS
HTTP_SHIB_AUTHNCONTEXT_DECL
HTTP_SHIB_ASSERTION_COUNT
HTTP_SHIB_HANDLER https://library.arce.org/Shibboleth.sso
HTTP_EPPN
HTTP_META_EPPN
HTTP_AFFILIATION
HTTP_META_AFFILIATION
HTTP_UNSCOPED_AFFILIATION
HTTP_META_UNSCOPED_AFFILIATION
HTTP_ENTITLEMENT
HTTP_META_ENTITLEMENT
HTTP_TARGETED_ID
HTTP_META_TARGETED_ID
HTTP_PERSISTENT_ID
HTTP_META_PERSISTENT_ID
HTTP_CN
HTTP_META_CN
HTTP_SN
HTTP_META_SN
HTTP_GIVENNAME
HTTP_META_GIVENNAME
HTTP_INITIALS
HTTP_META_INITIALS
HTTP_UID
HTTP_META_UID
HTTP_MAIL
HTTP_META_MAIL
HTTP_ROOMNUMBER
HTTP_META_ROOMNUMBER
HTTP_SHADOWEXPIRE
HTTP_META_SHADOWEXPIRE
HTTP_ERRORURL
HTTP_META_ERRORURL
HTTP_DISPLAYNAME
HTTP_META_DISPLAYNAME
HTTP_SHIB_APPLICATION_ID
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SERVER_SIGNATURE <address>Apache/2.4.25 (Debian) Server at library.arce.org Port 443</address>
SERVER_SOFTWARE Apache/2.4.25 (Debian)
SERVER_NAME library.arce.org
SERVER_ADDR 145.239.254.35
SERVER_PORT 443
REMOTE_ADDR 98.80.143.34
DOCUMENT_ROOT /usr/share/koha/opac/htdocs
REQUEST_SCHEME https
CONTEXT_PREFIX /portal
CONTEXT_DOCUMENT_ROOT /usr/local/vufind/public
SERVER_ADMIN [no address given]
SCRIPT_FILENAME /usr/local/vufind/public/index.php
REMOTE_PORT 35806
REMOTE_USER
REDIRECT_URL /portal/Help/Home
REDIRECT_QUERY_STRING topic=search&_=1726685991
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD GET
QUERY_STRING topic=search&_=1726685991
REQUEST_URI /portal/Help/Home?topic=search&_=1726685991
SCRIPT_NAME /portal/index.php
PHP_SELF /portal/index.php
PHP_AUTH_USER
REQUEST_TIME_FLOAT 1728000142.2981
REQUEST_TIME 1728000142
empty
0. Whoops\Handler\PrettyPageHandler