gpt4 book ai didi

php - 转换用于 MySQL FULLTEXT bool 模式的多词搜索字符串

转载 作者:行者123 更新时间:2023-11-29 00:41:43 24 4
gpt4 key购买 nike

我正在使用 Innodb 的 FTS 功能来搜索我的数据库并返回按相关性排序的结果。使用 bool 模式时,搜索字符串必须转换为一种形式,其中各个术语必须由一些运算符分隔,如 +~-, *

如果我有一个包含多个单词的搜索字符串,我如何(可能使用 PHP)转换搜索字符串以便我可以将其与 MATCH()....AGAINST() 一起使用条款?

搜索词:

堆栈溢出

SQL 查询:

SELECT * FROM mytable WHERE 
MATCH ( name, description)
AGAINST ('+*stack* +*over* +*flow*' IN BOOLEAN MODE);"

匹配结果

stack over flow
haystack hover flowers

最佳答案

我做的模糊搜索:

$search_words = explode(' ', $search);
foreach ($search_words as $foo) {
$sql_search .= '*' . $foo . '* ' ;
}

或常规:

$search_words = explode(' ', $search);
$sql_search = '+' . implode(" +", $search_words);

关于php - 转换用于 MySQL FULLTEXT bool 模式的多词搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11978917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com