You can use that search on the forum search page
(Search terms), on the message search page
(Subject & implicitly Text) and the contact list page
A full-text search
is a special search feature of the underlying database (using a full-text index). The behavior of that search may be not very intuitive for the unexperienced, but it's extremely fast and performs much better when compared to a "normal" search. Therefore it has been chosen on Dragon.
This search uses the full-text index of the subject
and text in the body
of the forum post messages. You can compare it with the index of a book. Imagine the forum posts (subject and message bodies) to be the content of that book, while searching
then is a lookup in its index. An index does not contain every word that appears in the book, but only the most important and more relevant.
Every word in the index and in the query is weighted according to its significance. A word that is present in many forum posts has a lower weight (maybe even zero). Conversely, if the word is rare, it receives a higher weight. The weights of the words are combined to compute the relevance
, which is displayed as Score
That has the implication that some words cannot be found
with the search. Just as in a book, where words that appear on every page wouldn't make it into the books index. Words omitted from the index are:
- Words that appears in more than 50% of the forum posts are not listed in the index and cannot be found as well. That may be the most unintuitive condition to be understood when trying to find something. It helps when you remember the book analogy: "not every word is indexed".
- A static list of words (hard coded in the database), the so-called "stop-words". A full list you can find at: http://dev.mysql.com/doc/refman/4.1/en/fulltext-stopwords.html
If a stop-word is used as search term, an error is shown that must be corrected, e.g. "Warning: Can't search for stopwords [go]!"
- All words that have less than 4 characters normally can't be found. But the IT-provider of DGS (Samuraj Data) reduced that limitation (applause!), so you can also find "words" consisting of less than 4 chars (in fact also the 1-char words ;-)
For example, if you search for "my go board is on fire
", an equivalent search would be "board fire
" (the other words are stop-words).
Then the database checks how often the word "board" appears in the index (on post subject and post body-text). If it's rare, it receives a higher score. The same is done for "fire
". This is done on each post that matches. Then the weights (scores) of the words in the matched posts are combined and all matched posts are sorted according to that score. That makes up the "relevance sort", that is used to display the search result.
See also Examples and the query-syntax
used for a full-text search with or without using expert-mode
And if you are still not satisfied, you can read more technical details about full-text searching at: