Skip to content

Searches

Urs Joss edited this page Aug 23, 2018 · 22 revisions

Searches

1. The Search Order

A search order allows you to define a more complex search definition. You can review the retrieved results, optionally exclude some of the results and store the entire search definition for later usage. It has a few basic properties:

  • an optional name, allowing you to label the search result.

  • the global flag. Any search with the global flag will be visible to other users as well. A search lacking the global flag is visible to you only.

ℹ️
You can view, edit and save your own global searches. You can also view and even edit global searches of other users, but you cannot save them. Thus your changes are not permanent in case of global searches of other users.

The search order is made up of one or more search conditions. Every search condition consists of one or more search terms.

The Search Order

The search order is saved automatically — first when you create a new search order with the New Search button, later when you change individual parts. You can reload it at any later time. You can also delete saved search orders, which will remove them from the database permanently.

If a paper is to be included in the search results, it must match at least one of the search conditions. In order to match the search condition, it must match all search terms of the search condition. In other words, all search terms are applied with a logical AND while the different search conditions are applied with a logical OR. An example further down illustrates this in a more practical context.

1.1. Add a new search order

  1. In order to create a new search order, click the button New Search.

    The list of saved search orders represents the new search order with a double dash --, followed by the id in parentheses (e.g. -- (8). It will update this representation as soon as you add some search condition or once you optionally add a name for the search order.

  2. Click the button Add Search Condition.

    SciPaMaTo opens an empty page, very similar to the paper entry page. If you enter a text into one of the paper fields, the text will later be used for filtering/searching amongst all papers available in SciPaMaTo. E.g. if you enter turner into the authors field, you declare that you want to restrict the search results to papers that have an author called 'turner'.

  3. Clicking the Search button will confirm your search condition and bring you back to the search order page. It will automatically execute the search order and present a list with the papers matching the search criteria (in this case papers with at least one author called 'turner').

You have now successfully created a search order with one search condition. The search condition consists of one search term responsible to filter the papers for author fields containing the string 'turner'.

In step 2, you could also add additional search terms to the search condition. E.g. if you want limit the search to papers with author 'turner' but only if the publication year is 2014 or later. You would add >=2014 to the field publication year. In this case, your search condition contained two search terms (author contains 'turner' and publicationYear >= 2014).

  1. Optionally you can exclude certain papers from the list of search results — depite the fact that your search conditions/search terms do match the criteria. Exclude any of the papers by clicking the remove icon (the crossed out circle) on the particular row in the search result table.

    Excluding papers

If you want to see the papers you have excluded from a search — or want to re-include one or more, you can check the checkbox Show exclusions

Change to showing exclusions

The view will switch to showing the exclusion and allow you to re-include them with the same icon.

Show exclusions

1.2. Options how to specify the different search terms within one search condition

Depending on the field type you’re applying a search term to, you can choose amongst different search options.

1.2.1. Boolean fields (first author overridden field only)

Boolean fields can have three states in the search condition: set (active), unset (inactive) and neutral (neither set nor unset).

Set

papers with the first author overriden boolean options: set

Unset

papers with the first author not overridden only boolean options: unset

Neutral

the field will not be filtered at all, i.e. papers will be found regardless of whether the first author has been overridden or not boolean options: neutral

1.2.2. Integer fields (fields number, id`and `publicationYear) — with examples

illustrating the usage for publicationYear:

Exact match

2016 or =2016 — only papers that were published in 2016 are selected.

Open range into the future

>2015 or >=2016 — papers that were published in 2016 or later

Open range into the past

<2015 or ⇐2014 — papers that were published in 2014 or before

Closed range

2014-2016 — papers that were published in 2014, 2015 or 2016

Has content

>"" — the field cannot be empty, i.e. must have some content.

Is empty

="" or "" — field has no content (null or empty) (aka. "has no")

1.2.3. Audit fields (fields Created and Last Modified)

The two fields indicate who initially created the paper and who did the last change. The screen displaying a paper both lists the username and also the time-stamp in each field:

Created/Last Modified fields

For either field, you can search who was responsible for the action (i.e. who created the paper entry or who modified it last) or when that happened.

  • To filter papers by whom created it, simply enter part or the full user name into the search field. (Note that depending on your setup, the user name may consist of initials only)

  • To filter papers by the timestamp of a creation or modification, you can use the syntax as indicated below.

The screen shot illustrates a search by creator and also a search by modification time:

Search by creator and by modification time stamp

The date has to be entered as follows:

Date only

yyyy-MM-dd, e.g. 2017-02-01 (for Feb 1, 2017). This can be quoted or not. Depending on the search operation, it will be complemented with the time "00:00:00" or "23:59:59". See details below.

Date and time

"yyyy-MM-dd hh:mm:ss", e.g. "2017-02-01 13:45:02". Quotes are compulsory if you add the time.

In order to filter by date according to your intent, you can use:

EXACT match

With equals: ="2017-02-01", without equals: 2017-02-01 or with time "2017-02-01 10:53:00". Date only is complemented with "00:00:00".

GREATER THAN match

>"2017-02-01 10:53:00" or >2017-02-01 (equivalent to >"2017-02-01 23:59:59")

GREATER THAN OR EQUAL match

>="2017-02-01 10:00:52" or >=2017-02-01 (equivalent to >="2017-02-01 00:00:00")

LESS THAN OR EQUAL match

⇐"2017-02-01 10:00:52" or ⇐2017-02-01 (equivalent to ⇐"2017-02-01 23:59:59")

LESS THAN match

<"2017-02-01 10:00:52" or <2017-02-01 (equivalent to <"2017-02-01 00:00:00")

RANGE match

="2017-12-01 01:02:03"-"2017-12-02 14:15:16" (you can omit the equals sign = and also the quotes). If you leave out the time part, the begin date will be the start of the day, the end date the end of the day, i.e. "2017-12-01"-"2017-12-02" is equivalent to ="2017-12-01 00:00:00"-"2017-12-02 23:59:59".

You can also combine the search by the user and the time, e.g.

Combining searching by creator and created timestamp

1.2.4. String fields (all other fields)

Please note upfront:

  • All searches are case insensitive. This means you fill find 'Turner' if you search for turner or even tUrNeR.

  • You can invert a search by prepending a minus/dash in front of the search term. This will result in a NOT condition, see explanations below.

The different search modes are illustrated with a search in the field author:

Equals

"turner mc." (or ="turner mc.") will return any paper where the author field entirely matches the string 'turner mc.', it would find papers with the single author Turner.

Contains

turner (or also =turner) will return any paper where the author field contains the string 'turner', regardless of where in the field the string appears. It would find e.g.

  • Turner MC, Cohen A, Jerret M, Gapstur SM, Driver WR, Pope CA 3rd, Krewski D, Beckermann BS, Samet, JM.

  • Cohen A, Turner MC.

  • Footurnerbar M.

Does not contain

-turner will exclude any paper that contains turner, wherever the string appears in the field.

Does not equal

-"turner mc." will list any paper that is not written by turner allone.

Starting with some string

turner* (or "turner*"). The field has to start with the string 'turner' and may continue with anything (or nothing) beyond it.

  • matches 'Turner MC, Cohen A, Jerret M, Gapstur SM, Driver WR, Pope CA 3rd, Krewski D, Beckermann BS, Samet, JM.' or 'Turner MC.' or even just 'Turner'

  • does not match 'Cohen A, Turner MC.'

  • does not match 'Turn'

Not starting with some string

-turner* (or -"turner*") — cannot start with 'turner'

Ending with some string

*turner (or "*turner"): The field has to end with the specified string 'turner' and can (but must not) have something before.

  • matches 'Turner' or 'Cohen, Turner'

  • does not match 'Cohen A, Turner MC.'

  • does not match 'Turner MC, Cohen A, Jerret M, Gapstur SM, Driver WR, Pope CA 3rd, Krewski D, Beckermann BS, Samet, JM.' or 'Turner MC.' or even just 'Turner'

Not ending with some string

-*turner (or -"*turner") — cannot end with 'turner'

Has content

>"" — the field cannot be empty, i.e. must have some content.

Is empty

="" — field has no content (null or empty) (aka. "has no")

Regex

s/regex/ — returns papers matching the regex. Very powerful way of specifing complex search conditions. TODO To be explained in more detail.

Negative regex

-s/regex/ — excludes papers matching the regex. TODO explain later

If you combine several search terms in the same field (without quotes), the search term is split into separate tokens, all of which have to match simultanously.

E.g. if you add the search term turner -cohen to the author fields, you would get all papers written by Turner without Cohen (as a co-author). You could also have written -cohen turner instead — the order of the individual parts does not matter.

1.2.5. Searching for Codes

You can select one or more of the codes per code class. Simply click the entry with your mouse once to select it or again to deselect it.

Instead of using the mouse, you can also press space to open the dropdown list, navigate to the entry to select/deselect (sing your arrow keys) and hit enter to select/deselect. Alternatively you can also restrict the list of entries by typing part of the name/codes and then hit enter to select/deselect.

search codes

1.3. Adding multiple search conditions

Multiple search conditions are combined into an OR condition. As an example:

  • Search order Example with

  • search condition 1: publicationYear: 2014

  • search condition 2: goals: Landnutzungsmodell -CAC

The search will return any paper that was published in 2014 and in addition any paper with the term 'landnutzungsmodell' in the goals field, but only if the term 'CAC' is not present in the same field — regardless of the publication year.

1.4. A practical example

Assume you want to find all studies that contain either

  • the word 'brain' in the methods field AND (simultanesouly) the word 'significant' in the result field

  • OR the word 'cancer' in the result field

In order to build this search order, you will need two search conditions (one for 'brain' and 'significant' in the respective fields) and one for the 'cancer' condition.

  1. Hit the button 'New Search', optionally enter a name and or the global flag.

  2. Hit the button 'Add search condition' to build up the first search condition. A new page opens that let’s you place your search terms.

    example 01 add sc

  3. Add 'brain' into the methods field

    example 02 sc1a brain

  4. Add 'significant' into the result field

    example 02 sc1b sign

  5. Hit the button 'Search' which will close the page and refer back to the search order page with the results. A new search condition has been added, abbreviated with the string 'brain AND significant'.

    example 03 sc1 saved

  6. Hit the button 'Add search condition' once more to build up the second search condition. A new page opens once more for your search terms.

  7. Add 'cancer' into the result field

  8. Hit the button 'Search' which will close the page and refer back to the search order page with the results. The second condition has been added, abbreviated with the string 'cancer'.

    example 04 sc2 saved

You will see the respective results, matching either 'cancer' in the results field or both 'brain' in the methods field and 'significant' in the results field.

Please note that the name of the search order indicates the combination of all search conditions, including the keywords AND (combining search terms within one search condition) and OR (joining two or more search conditions).

2. Navigation between the papers in the result set

If your search results in multiple papers, you can navigate between the different papers in the result list from the paper edit page directly. Assume your search has the following result set:

The result list with 28 items

Open up the paper with id 37 (author Kubesch) by clicking the title.

Paper 37

2.1. Next paper and previous paper

ℹ️
the icons displayed for previous and next are borrowed from the metaphor of a CD player, jumping to the previous or next song.

If you click on the button previous, SciPaMaTo will leave the current paper and navigate back to the previous item in the result list: author Strak with Id 38.

Previous paper with id 38

If you reach the first item, the previous button will be rendered disabled. As is the next button if you forward to the last item in the result list.

ℹ️
Currently there is a known issue with saving and also navigating between the result items: SciPaMaTo loses track of where (on which field) the focus was prior to saving or navigating to other papers. It will always be the first tab (Population, Goals, Methods) which is shown after the save or navigation step.

Clicking on the Back button will bring you back to the Search Order including results that had the current list of papers as results:

Jumping back to the search

If you want to exclude the current paper from the current search, click the exclude button:

Excludinng the current paper from the search

Clone this wiki locally