Php 全文搜索Mysql不使用&;符号拉威尔
我试图在全文搜索模式下查找这些单词 “a&w”“b&w”“b&w” 查询返回这些单词的空结果 我的问题Php 全文搜索Mysql不使用&;符号拉威尔,php,mysql,laravel,full-text-search,Php,Mysql,Laravel,Full Text Search,我试图在全文搜索模式下查找这些单词 “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)", $
$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;
}
$input=input::get('term');
$results=Name_标记::其中('status',2)
->采取(5)
->groupBy(“品牌识别码”)
->何处(
“与(?在布尔模式下)匹配(关键字)”,
$this->fullTextFullTerm($input)
)
->get();
受保护函数fullTextFullTerm($input)
{
$reservedSymbols=['-'、'+'、'@'、'('、')、'~'];
$input=str_replace($reservedSymbols,,,$input);
$words='“.$input.”;
返回$words;
}
我桌上的一些字
a&wb&w
a&w
b&w酒店
其他不带&的搜索词工作正常。知道怎么了吗?为什么全文搜索找不到包含&symbol的单词?您到底在搜索什么?显示
dump($this->fullTextFullTerm($input))的输出代码>我正在尝试查找b&w或a&w,但结果为空。如果我尝试使用不带&symbol的不同短语,效果很好。转储文件“a&w”的输出可能太短。什么是innodb\u ft\u min\u token\u size
?innodb\u ft\u min\u token\u size=2,当使用dd()
替换get()
以查看生成的查询时,问题似乎会出现。看起来还好吗?我没有太多的FTS经验,所以我不确定它如何处理报价。