Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.
SELECT * FROM tableauxiliary WHERE MATCH (FullTextSearch)
AGAINST ('resta*' IN NATURAL LANGUAGE MODE)

show 5 results

SELECT * FROM tableauxiliary WHERE MATCH (FullTextSearch)
AGAINST ('restaurant*' IN NATURAL LANGUAGE MODE)

shows 56k

What am I missing? How can something contains restaurant without containing resta

I am using mysql and MyISAM

share|improve this question
    
How does your table tableauxiliary look like? are there entries, that contain shorter words than "restaurant" but also start with "resta"? –  rubo77 Feb 14 '13 at 7:39

1 Answer 1

Maybe more than 50% of your tablerows contain words starting with "resta*".
Words that are present in 50% or more of the rows are considered common and do not match.

So you would only have those rows returned, that have a non-common word also starting with "resta*" in your result.

see: http://dev.mysql.com/doc/refman/5.5/en/fulltext-natural-language.html

Try

SELECT * FROM tableauxiliary WHERE MATCH (FullTextSearch)
AGAINST ('resta*' IN BOOLEAN MODE)

see http://dev.mysql.com/doc/refman/5.6/en/fulltext-boolean.html

Boolean full-text searches have these characteristics: - They do not use the 50% threshold that applies to MyISAM search indexes

I got this here:
Why does MATCH() give Score 0, if there are less rows in the database?

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.