Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

full text search

Status
Not open for further replies.

xbl12

Programmer
Dec 12, 2006
66
Hello;
I am trying to do the full text search from mysql database to slove the following problem.
1)
for example could be searching for books by Georges Simenon about Maigret,
when a user is not sure how to spell “Maigret”.

2)
another example, a user searching for “database” may really mean that “MySQL”, “Oracle”,
“DB2”, and “RDBMS” all are phrases that should match “databases” and should be returned, too.

or just solve the first problem.

Someone introduce me the "with Query Expansion';

but i found this interesting feature could be dangerous. It' s very simple to
increase the number of matching rows close to the total number of rows of the table;
such a search have no meaning

Could anyone help, please.
 
You have obviously been reading the manual, which is where I was going to refer you to.

Probably the best approach is for you to set up a sample table, populate it, and try out the various options.
 
It say it can slove two problem like;

1)For example, a user searching for “database” may really mean
that “MySQL”, “Oracle”, “DB2”, and “RDBMS” all are phrases that
should match “databases” and should be returned, too. This is implied knowledge.

2)
Another example could be searching for books by Georges Simenon about
Maigret, when a user is not sure how to spell “Maigret”.


But i set up a table, and test it, i found it just can solve the first problem, it does not solve the second problem.

For example, it does not bring me any result when i mistype the word with the database to 'databass', have you used to be used it before?
 
look into the use of SOUNDEX when you want to find misspelled words.

and for part 1, you would have to store related words in another table, there is no way for a query to know you want mysql when someone searches for database.
 
Searching for "databass" won't return any results as that word presumably does not appear in the table. However if you search for "oracle" or "oracle databass" with query expansion, MySQL will first search for those word(s) and find stuff relating to "oracle", then it will take the most significant words from those results and do another search for them; so that if the word "database" appears a lot in the first set of results, the results of a search for "database" will be added to the overall search result.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top