我有如下查询:
SELECT prd_id FROM products WHERE MATCH(prd_search_field) AGAINST(布尔模式下'+ gul * + yetistiren * + adam *');
这不会返回包含'gul'的行。
http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html 该文件说明了这一点。
然后搜索'+ word + the *'可能会返回比a少的行 搜索'+ word + the': 前一个查询保持原样并且需要单词和*(以该字开头的单词)出现在文档中。 后一个查询转换为+ word(只需要存在单词)。它既太短又是一个停用词,任何一个条件都足以导致它被忽略。
因为我理解在我的情况下不能应用太短的单词条件,因为我在每个单词之后使用*。这有什么问题?
作为一种解决方案,我使用以下查询但由于速度慢,我需要找到另一种解决方案。任何想法将不胜感激?提前谢谢..
SELECT prd_id FROM products WHERE 1 AND MATCH(prd_search_field) AGAINST(布尔模式下'+ yetistiren * + adam *')和prd_search_field 像'%gul%';
在所有共享托管环境中默认注意ft_min_word_length = 4,我无法更改它。