Searching
Even if knowledge is organized in topic maps, if your topic map gets big, and you don't know the path to the information you're looking for, you'll be glad to have some global search tool around. The search window is available through the Display menu.This window is split into an upper and lower parts.
Defining what to search for..
The upper part is used to specify your search criteria.The only mandatory field is the search string : if you don't fill it, the Search button will remain disabled. This search string allows you to define complex search criteria. The only constraint is the length of the string you enter. If it's not long enough, the search button won't unlock. The minimum size depends on the mysql parameter ft_min_word_len. By default, it's 3 characters. But you can change this value in Mysql's my.ini configuration file. Please refer to the Mysql documentation for the usage of this parameter.
Beware that searches are case insensitive, so searching for train* will return results such as train, trains, training... but it will also find strings such as Train or Training.
Boolean operators can be used to combine multiple criteria. These operators are (extract from Mysql documentation):
- +string indicates that this string must be present in every result returned.
- -string indicates that this string must not be present in any result returned.
- ~string acts as a negation operator, causing the string's contribution to the result relevance to be negative. It's useful for marking noise words. A result that contains such a word will be rated lower than others, but will not be excluded altogether, as it would be with the – operator.
- <string> string : These two operators are used to change a string's contribution to the relevance value that is assigned to a result. The > operator increases the contribution and the < operator decreases it.
- () : Parentheses are used to group words into subexpressions. Parenthesized groups can be nested.
- " : A phrase that is enclosed within double quote characters matches only results that contain the phrase literally, as it was typed.
Note that the search string field is a drop-down list. It keeps an history of the most frequent searches you did. This history is saved in the databae, and restored when you start Goozzee. Note also that, if you have multiple search windows open, each of these windows keeps its own search history.
The search results
If nothing is found, and if you search criteria is fairly simple – one word – Goozzee will automatically relaunch the same search, appending a wildcard at the end of your search string.When the search is over, the lower section of this window will display your search results. It is separated into three tabs: Topics, Documents and properties. If, after the search, some tab(s) do not contain any result, the focus will be put automatically to the first tab that is not empty. If all the tabs are empty – no result was found – the focus will return to the search string.
In the Topics and Properties tab, you'll notice a column named "Type". This column will tell you exactly where your search string was found :
- C : in a category name, in the properties tab
- N : in the notes of a topic
- P : in a property name
- T : in a topic title
- V : in a property value
- In the Topics tab, it will open the corresponding topic. In case the search string was found inside the topic's notes, it will be highlighted in this topic's note when the topic opens. To search for the next occurrence of this string in this note, just press F4.
- In the Documents tab, it will open the document.
- In the Properties tab, it will open the topic where this property was found
Right-clicking on a search result pops up a contextual menu, with much more functionality.
In the Topics and Properties tabs, the menu will propose you the following options :
- Add to shortcuts will add the selected topic(s) to you shortcuts list. (See Shortcuts for more info)
- Add to upper topics / Add to subtopics : will associate the selected topic(s) to the current topic as an upper or lower topic.
- Associate to current topic : will create a default association between the current topic and the selected topic(s). Which means that the selected topic(s) will appear in the 'See also...' category, on the right button area of the current topic.
Drag & drop can also be used to create new associations with the current topic : drag a topic from the result list, and drop it into one of the buttons areas of the main window. The exact place where you drop it will even influence the type of association created, and the role given to the dropped topic. But we'll detail all of this in the next section... You can even drop a topic from the results list into your shortcuts list, to easily create a new shortcut.
You can also drag'n drop documents from the search window into the main window's documents list, to associate them with the current topic.
Fulltext searches
Goozzee is using a feature of Mysql named "Fulltext search". This feature allows very fast searches, as well as the use of boolean operators (we discussed them earlier on this page).Nevertheles, this "fulltext search" feature works only for latin characters. If you're writing with other characters – i.e arabic, chineese, japanese, korean, hebrew... – full text searches won't return any result. To counter this problem, you can easily disable fulltext searches :
- Open the Preferences window
- Click on the "Password / Language" tab
- Uncheck the "Use full text search feature" option
- Save your preferences
Another drawback of fulltext searches is that they filter the most common english words.
Final thoughts
Note that you can have multiple search windows open simultaneously, each with its own search results.Finally, note also that the search results will only show the topics and documents you're allowed to see, unless your user has administrator rights.