From the manual <http://dev.mysql.com/doc/mysql/en/Fulltext_Search.html>:

MySQL uses a very simple parser to split text into words. A word is any
sequence of characters consisting of letters, digits, ', or _. Some
words are ignored in full-text searches:

Any word that is too short is ignored...

. and - are non-word characters, so they are treated as word separators. Hence, your query is asking for documents containing 'BT', '1034', and '06'. The first and last are too short, so they are dropped, resulting in a search for just '1034'. Documents are indexed similarly, so each of the examples you give are indexed as '1034' only; the parts before and after are too short and not indexed. So you get the results you indicate.


When you add the quotes, results which match '1034' are then filtered for matches containing the exact text in quotes, "BT-1034.06" in this case, yielding the result you want.

Michael

leegold wrote:

If I search on:
BT-1034.06
I get returned:
BT-1034.02
BT-1034.03
BT-1034.05
...
BT-1034.11

If I put in "" ie. "BT-1034.06"
I only get BT-1034.06 returned.
The BT- part seems irrelevant.

But I don't understand the results.
Why so many returned? Seems like 1034.06
w/out the "" is unique enough. Is '.' a special
character and the cause? If no simple answer
I'll show you my code if necessary. Thanks for the help.
4.1.3a-beta for win32
Lee G.



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to