English 中文(简体)
how to disable mysql s match query s 50% exclusion
原标题:

So apparently if a Mysql table s fulltext index contains a keyword that appears in 50% of the data rows, that keyword will be ignored by the match query

So if I have a table with the fulltext index content which contains 50 entries and 27 of the entries contains the word computer in the content field, and I run the query:

SELECT * 
  FROM `table` 
 WHERE MATCH(`content`) AGAINST ( computer ); 

...the computer query will return zero results since computer appears in more than 50% of the entries and hence the keyword is ignored...

is there a way to disable this functionality especially since this is problematic in the beginning phase of the database s lifespan

最佳回答

Use BOOLEAN full-text searches to bypass 50% feature.

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

问题回答

Yes, use the Boolean Full-Text Searched option

See here Mysql Manual

The manual says that "They do not use the 50% threshold."

The search in MySQL is not intuitive and the manual is slightly confusing so you need to read it carefully as well as preparing some test cases to make sure it is working and that you have implemented it correctly (from bitter experience).

There are a number of other search plugin s of varying complexity that you might want to look at that perform better but it is worth getting to grips with the native version as it is quick and (easy?) dirty.





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...

热门标签