On Tue, 2 Jul 2002, Erlend Hops� Str�msvik wrote:
> Download the 4.0.2 source and compile it.
> Things seem to work a lot better with the 4.0.2. And it won't crash with
> special combinations of words :)
Hi,
Some things with BOOLEAN MODE seem still broken. Especially the '*'
jokers. I have 4.0.2 taken from the source tree yesterday. I'm querying
against a table with 14579 documents containing 187621564 bytes of data
and a fulltext index.
Table structure is:
CREATE TABLE `plaintext` (
`id` int(11) NOT NULL auto_increment,
`doc` varchar(16) NOT NULL default '',
`code` int(10) unsigned NOT NULL default '0',
`part` tinyint(4) NOT NULL default '0',
`bgetxt` text,
PRIMARY KEY (`id`),
KEY `doc` (`doc`),
KEY `code` (`code`),
FULLTEXT KEY `bgetxt` (`bgetxt`)
) TYPE=MyISAM
Bug example:
select doc from plaintext \
where match(bgetxt) against ('integrit�t');
yields:
171 rows in set (0.02 sec)
and:
SELECT doc FROM plaintext \
WHERE MATCH(BGETXT) AGAINST ('integrit�t ad�quanz');
yields:
198 rows in set (0.02 sec)
6 of these rows contain both words:
SELECT doc FROM plaintext \
WHERE MATCH(BGETXT) AGAINST ('+integrit�t +ad�quanz' IN BOOLEAN MODE);
yields:
+-----------+
| doc |
+-----------+
| 112 V 30 |
| 115 V 133 |
| 117 V 359 |
| 117 V 369 |
| 118 V 286 |
| 119 V 335 |
+-----------+
6 rows in set (0.01 sec)
but now look at this:
There are lots of possible endings for my search words:
integrit�t integrit�tsschaden ad�quat ad�quanz ad�quate ... (many more)
SELECT doc FROM plaintext \
WHERE MATCH (bgetxt) AGAINST ('integr*' IN BOOLEAN MODE);
gives:
997 rows in set (0.11 sec)
this looks is still good! Many additional hits are found.
Therefore I do:
SELECT doc FROM plaintext \
WHERE MATCH (bgetxt) AGAINST ('integr* ad�qu*' IN BOOLEAN MODE);
and I get:
+----------+
| doc |
+----------+
| 117 V 71 |
+----------+
1 row in set (2.46 sec)
The text which has been found contains text beginning with:
------------<quote>------------------
10. Urteil vom 11. Januar 1991 i.S. X gegen Bundesamt f�r
Milit�rversicherung und Versicherungsgericht des Kantons Solothurn
Regeste
Art. 23 Abs. 1 und Art. 25 Abs. 1 MVG: Bemessung des
Integrit�tsschadens und Beginn der Integrit�tsrente.
- Bemessung des Integrit�tsschadens (Zusammenfassung der
Rechtsprechung; Erw. 3a).
- Die Beeintr�chtigung der Integrit�t bemisst sich an den Folgen,
welche die gesch�digte Gesundheit auf prim�re Lebensfunktionen hat
(Erw. 3a/bb/aaa).
- Der Integrit�tsschadensgrad kann 60% �bersteigen, richtet sich
jedoch
weder direkt noch analogieweise nach den Ans�tzen gem�ss Anhang 3 zur UVV
(Best�tigung der Rechtsprechung; Erw. 3c/aa).
- Bemessung des Integrit�tsschadens bei mehreren k�rperlichen <snip>
-------------<unquote>-------------------
Conclusion:
combinations of 2 words with asterisk joker IN BOOLEAN MODE
do not work.
Thomas Spahni
--
sql, query
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php