Below is the list of changes that have just been committed into a local
mysqldoc repository of serg. When serg does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://www.mysql.com/doc/I/n/Installing_source_tree.html
ChangeSet
1.1044 03/12/07 13:16:19 serg@stripped +1 -0
query expansion documented
Docs/manual.texi
1.953 03/12/07 13:16:18 serg@stripped +28 -4
query expansion documented
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: serg
# Host: serg.mylan
# Root: /usr/home/serg/Abk/mysqldoc
--- 1.952/Docs/manual.texi Sat Dec 6 18:50:18 2003
+++ 1.953/Docs/manual.texi Sun Dec 7 13:16:18 2003
@@ -37968,16 +37968,16 @@
@findex MATCH ... AGAINST()
@c help_category String Functions@Functions
-@c description_for_help_topic MATCH AGAINST MATCH AGAINST BOOLEAN IN MODE
-@item MATCH (col1,col2,...) AGAINST (expr)
-@itemx MATCH (col1,col2,...) AGAINST (expr IN BOOLEAN MODE)
+@c description_for_help_topic MATCH AGAINST MATCH AGAINST BOOLEAN IN MODE MATCH AGAINST QUERY EXPANSION WITH
+@item MATCH (col1,col2,...) AGAINST (expr [IN BOOLEAN MODE | WITH QUERY EXPANSION] )
@code{MATCH ... AGAINST()} is used for full-text search and returns
relevance - similarity measure between the text in columns
@code{(col1,col2,...)} and the query @code{expr}. Relevance is a
positive floating-point number. Zero relevance means no similarity.
@code{MATCH ... AGAINST()} is available in MySQL version
3.23.23 or later. @code{IN BOOLEAN MODE} extension was added in version
-4.0.1. For details and usage examples, see @ref{Fulltext Search}.
+4.0.1, @code{WITH QUERY EXPANSION} was added in 4.1.1.
+For details and usage examples, see @ref{Fulltext Search}.
@c end_description_for_help_topic
@findex NOT LIKE
@@ -46033,6 +46033,10 @@
@cindex full-text search
@cindex FULLTEXT
+@example
+MATCH (col1,col2,...) AGAINST (expr [IN BOOLEAN MODE | WITH QUERY EXPANSION] )
+@end example
+
As of Version 3.23.23, MySQL has support for full-text indexing
and searching. Full-text indexes in MySQL are an index of type
@code{FULLTEXT}. @code{FULLTEXT} indexes are used with @code{MyISAM} tables
@@ -46140,6 +46144,26 @@
+----+-------------------------------------+-----------------+
2 rows in set (0.00 sec)
@end example
+
+Since Version 4.1.1 full-text search supports query expansion (in particular
+it's variant ``blind query expansion''). It is generally useful when a search
+phrase is too short - short phrase means that a user is relying on an implied
+knowlegde, that full-text search engine usually lacks. E.g. searching for
+``database'' user implies that ``MySQL'', ``Oracle'', ``DB2'', ``RDBMS'' all
+are ``databases'' and should be found too - this is the implied knowlegde.
+Blind query expansion (also known as automatic relevance feedback) works by
+performing the search twice, with the search phrase for the second search being
+the original search phrase concatenated with the few top found documents from
+the first search. Thus if one of these documents containted the word
+``databases'' and the word ``MySQL'', then the second search will find the
+documents that contain the word ``MySQL'' but not ``database''. Another
+example could be searching for Georges Simenon books about Maigret, when a user
+is not sure how to spell ``Maigret''. Then, searching for ``Megre and the
+reluctant witnesses'' will find only ``Maigret and the Reluctant Witnesses''
+without query expansion, but all books with the word ``Maigret'' on the second
+pass of a search with query expansion. Note: as blind query expansion tends to
+increase noise significantly, by returning non relevant documents, it's only
+meaningful to use when a search phrase is rather short.
MySQL uses a very simple parser to split text into words. A ``word''
is any sequence of characters consisting of letters, digits, @samp{'},
| Thread |
|---|
| • bk commit - mysqldoc tree (serg:1.1044) | Sergei Golubchik | 7 Dec |