Hi All...

Here is my table...

mysql> select * from SearchTest;
+-----+--------------------------------+
| UID | SomeText                       |
+-----+--------------------------------+
|   1 | Hello this is a test field     |
|   2 | And this is another field      |
|   3 | And because we are testing...  |
|   4 | A few more fields are required |
|   5 | Just like this one!            |
|   6 | Now, to finish off             |
|   7 | The final field!               |
|   8 | All Done!                      |
+-----+--------------------------------+



In the below query, why does record 4 have zero relevance as it includes the
world 'field'. Surely by searching for 'Field*' instead of 'Field' record 4
should have some relevance?

mysql> select *,MATCH(SomeText) AGAINST ('Field*') as Relevance from
SearchTest;
+-----+--------------------------------+-----------------+
| UID | SomeText                       | Relevance       |
+-----+--------------------------------+-----------------+
|   1 | Hello this is a test field     | 0.4993407966478 |
|   2 | And this is another field      | 0.5050179305957 |
|   3 | And because we are testing...  |               0 |
|   4 | A few more fields are required |               0 |
|   5 | Just like this one!            |               0 |
|   6 | Now, to finish off             |               0 |
|   7 | The final field!               | 0.4993407966478 |
|   8 | All Done!                      |               0 |
+-----+--------------------------------+-----------------+



And the same goes for searching for 'test*' - record 3 should have some
relevance...

mysql> select *,MATCH(SomeText) AGAINST ('test*') as Relevance from
SearchTest;
+-----+--------------------------------+-----------------+
| UID | SomeText                       | Relevance       |
+-----+--------------------------------+-----------------+
|   1 | Hello this is a test field     | 1.9021605002325 |
|   2 | And this is another field      |               0 |
|   3 | And because we are testing...  |               0 |
|   4 | A few more fields are required |               0 |
|   5 | Just like this one!            |               0 |
|   6 | Now, to finish off             |               0 |
|   7 | The final field!               |               0 |
|   8 | All Done!                      |               0 |
+-----+--------------------------------+-----------------+

Can someone explain this to me and how to get round this problem?

Also, does anyone know when the next version of MySQL will be released and
whether it will have the (much needed) improvements for full text searching
detailed in the TODO (especially phrase searching)...?

Oh, one last thing... do indexes need to be manually updated or does mysql
automatically do it when an insert/update/delete query is called? What is
the command (if any) to manually re-index a database?

Thanks in advance,


Andrew


---------------------------------------------------------------------
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

Reply via email to