首页 > 解决方案 > 全文搜索 Mysql 不使用 & 符号 Laravel

问题描述

我试图在全文搜索模式下找到这些词。

'a&w' 'b&w' 'b&w'

查询返回这些单词的空结果。

我的查询

$input = Input::get('term');
$results = Name_tag::where('status', 2)
    ->take(5)
    ->groupBy('brand_id')
    ->whereRaw(
        "MATCH (keyword) AGAINST (? IN BOOLEAN MODE)",
        $this->fullTextFullTerm($input)
    )
    ->get();

protected function fullTextFullTerm($input)
{
    $reservedSymbols = ['-', '+', '<', '>', '@', '(', ')', '~'];
    $input= str_replace($reservedSymbols, '', $input);

    $words = '"'.$input.'"';
    return $words;
}

我桌上的一些话

a&w
b&w
a&w
b&w

……

其他不带 & 的搜索词工作正常。知道有什么问题吗?为什么全文搜索找不到包含&符号的单词?

标签: phpmysqllaravelfull-text-search

解决方案


推荐阅读