Navigating with search

One way to navigate Open Foresight Hub is with the search bar on the top right corner of the screen.

General search tips

  • Make sure all keywords are spelled correctly. Search on Open Foresight Hub does not account for misspellings. For example, a search for “foersight” would not return any results.
  • Similarly, search does not account for abbreviations. A search for “AI” would not search for “artificial intelligence”
  • Do not phrase searches in the form of a question. A search for “what is the future of artificial intelligence in 2030?” would probably not return useful results. Instead, “future “artificial intelligence” 2030” would produce more accurate results. See below for syntax to get the most out of search tools.

Search results

On the search results page, a link will appear above the search bar to a page named after your search query. If the page exists, it will be green. If not, it will be red. Searching for an exact pagename is one way to create new pages.

Then, below the search bar, results will matching pagenames, pages that contain your search terms in its name. Matching pagename results show the pagename and the namespace the result is in.

Below those results, it shows Fulltext results, pages with your search terms in the body of the article. Fulltext results show the pagename, the namespace, the number of hits, when the page was last modified, and an excerpt of the page text with your search terms highlighted in yellow. Your search terms will remain highlighted when you click on fulltext result links.

Filtering searches

On the search results page, you can click “toggle search tools” next to the search bar to access filtering tools. Here you can adjust matching criteria, filter by namespace, filter by last modification date, and choose how results are sorted.

  • Matching criteria is set to “exact match” by default. It could be changed to “contains” “starts with” or “ends with”
  • Namespace filtering is set to “Any namespace” by default. It could be changed to search within a specific namespace, like encyclopedia, futures, or library.
  • Modification date is set to “Any time” by default. It could be changed to filter results created or edited within the past week, month, or year.
  • Sorting is set to “Sort by hits” by default. Pages in which the keywords appear most frequently will appear at the top. This can be changed to “Sort by last modified” which shows results in reverse chronological order.

Search Syntax

Basically the search tool performs logical AND search. That means all the words you put in the query will be used. Search is always case insensitive.

Open Foresight hub's advanced search query syntaxes are described below. All of the syntaxes can be combined together. In this section, we'll use square brackets [ … ] to represent characters entered in the query.

Terms you want to exclude (-)

You can attach a minus sign - immediately before a keyword to exclude pages that contain this keyword from your search results. For example, the query [ foresight -hub ] will find pages which contain “foresight” but do not contain “hub”.

You can use this syntax - not just for a keyword, but also for a partial matching, a phrase search, a namespace search and a grouping search described below. For example, you can use the query [ -"phrase you want to exclude" ] to exclude exact phrase.

Partial matching (*)

You can perform a partial matching by prefixing and/or suffixing an asterisk * to a keyword. For example, searching for [ wiki ] will only find “wiki”, but searching for [ *wiki ] will also find “DokuWiki” (suffix matching). You can also perform [ doku* ] (prefix matching) and [ *okuwik* ] (partial matching).

Note that * is not a “wildcard”. You can't use it within a keyword, i.e. searching [ doku*iki ] will not find anything for you.

You can search for exact phrases by putting double quotes around a set of words, e.g. [ "installing dokuwiki" ].

Search within a namespace (@)

You can restrict the search to namespaces. To search pages within a namespace, prefix @ or ns: to the namespace. To not search pages within a namespace, prefix ^ or -ns: to the namespace.

For example, the query [ syntax @hub ^hub:syntax ] will find pages which contain a word “syntax” and are within “hub” namespace but not within “hub:syntax” namespace. The query [ syntax ns:hub -ns:hub:syntax ] will do the same thing.

The OR operator (|)

By default Open Foresight Hub performs a logical AND search, but you can also use a logical OR search by using | or or as a separator of your search terms. For example, the query [ open | foresight ] will find pages which contain either “open” or “foresight” or both. The query [ open or foresight ] will do the same thing. You may use OR as a simple alternative to Partial matching (*), e.g. in finding pages about people with spelling variations as [ Frank | Fränk ].

The OR operator has a lower precedence than the default AND operator. That is, the query [ drivers megatrends | scenarios ] can be represented as [ (drivers megatrends) | scenarios ], not as [ drivers (megatrends | scenarios) ]. Instead, use a grouping syntax as described below.

If you want to restrict your search on a namespace, you have to group your search with “()”, otherwise a search [ 2030 | 2040 @library] will behave as [ (2030) | (2040 @library)], i.e. searching for “2030” OR “2040 @library” over all namespaces, but not as you may intend searching “2030” OR “2040” over the library namespace, the latter being correctly expressed as [ (2030 | 2040) @library].

You can group search terms by enclosing terms with parentheses ( … ). Having the highest precedence, parentheses may be used to force precedence.

For example, the query [ foresight -(hub | @hub) ] will find pages which contain a word “foresight” but not contain a word “hub” and also are not within the namespace “hub”.

Quicksearch

You can enter the beginning of a pagename into the search box and wait half a second. In most modern browsers you will automatically get a popup with matching pagenames.

Categories:

Last modified: 2023/06/17 21:11 by davidpjonker