mysql fulltext用asterix进行布尔搜索
我有一个像下面这样的查询:
SELECT prd_id FROM产品WHERE MATCH(prd_search_field)AGAINST(布尔模式下的'+ gul * + yetistiren * + adam *');
这不会返回包含'gul'的行。
http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html文件说明了这一点。
然后,对'+ word + the *'的搜索可能会返回比搜索'+ word + the'更少的行:前一个查询保持不变,并且需要word和*(以'开头的一个词')在文件中。 后一个查询被转换为+字(只需要字就存在)。 这既是太短又是一个停止词,并且任一条件都足以导致它被忽略。
因此,据我了解,由于我在每个单词之后使用*,所以太短的单词条件不适用于我的情况。 这有什么问题?
作为一个解决方案,我使用下面的查询,但由于它很慢,我需要找到另一个解决方案。 任何想法将不胜感激? 提前致谢..
SELECT prd_id FROM WHERE 1 AND MATCH(prd_search_field)AGAINST(布尔模式中的'+ yetistiren * + adam *')AND prd_search_field LIKE'%gul%';
作为所有共享主机环境中的默认ft_min_word_length = 4,我无法更改它。
链接地址: http://www.djcxy.com/p/75321.html