在MySQL全文搜索中,匹配仅显示完全匹配或匹配带有一些后缀而非前缀的数据

时间:2017-05-19 12:06:41

标签: php mysql

我已经在线搜索但未找到任何使用完整链接Fulltext search only returns exact matches

我的列标题为行值

SELECT * FROM `jobs` WHERE match(posttitle) against('*shiva*' in boolean mode)

查询:

SELECT * FROM `jobs` WHERE match(posttitle) against('shiva*' in boolean mode) 

SELECT * FROM `jobs` WHERE match(posttitle) against('+shiva*' in boolean mode)

不会返回任何值

$GLOBALS['TSFE']->fe_user->checkPid = '';
$info = $GLOBALS['TSFE']->fe_user->getAuthInfoArray();
$user = $GLOBALS['TSFE']->fe_user->fetchUserRecord($info['db_user'], $username);
$loginData = array('uname' => $username, 'uident' => $password, 'status' => 'login');

$GLOBALS['TSFE']->fe_user->forceSetCookie = TRUE;
$GLOBALS['TSFE']->fe_user->createUserSession($user);
$GLOBALS['TSFE']->fe_user->user = $GLOBALS['TSFE']->fe_user->fetchUserSession();

$loginSuccess = $GLOBALS['TSFE']->fe_user->compareUident($user, $loginData);

PHP Catchable Fatal Error: Argument 2 passed to In2code\Femanager\Utility\LogUtility::log() must be an instance of In2code\Femanager\Domain\Model\User, boolean given, called in /home/abenteuer/public_html/typo3conf/ext/feusersplus/Classes/Controller/NewController.php on line 91 and defined in /home/abenteuer/public_html/typo3conf/ext/femanager/Classes/Utility/LogUtility.php line 48

只显示shivagood和shiva

使用自然语言模式仅显示完全匹配。

有没有办法没有使用?

1 个答案:

答案 0 :(得分:0)

您发现mysql全文搜索有限制。

没有与

等效的语法
LIKE '%something%'

虽然MySQL本身会返回该类型查询的结果,但是不能使用任何索引,因此所涉及的表将被"表扫描"

+ shiva *的全文匹配语法仅在单词以shiva开始时匹配。它不会与含有shiva但不以shiva开头的单词匹配。

*shiva*

不受支持。

由于此限制和全文搜索的其他问题,许多网站使用像sphinx或solr这样的外部搜索引擎。例如,Sphinx确实允许

'*shiva*'.