gpt4 book ai didi

php - Mysql FullText 索引搜索问题

转载 作者:行者123 更新时间:2023-11-29 06:09:45 25 4
gpt4 key购买 nike

我正在使用 MySql FullText 索引从数据库中搜索数据。

这是查询

$search_input_text = 'the_string_to_be_search';
$searchArray = explode(" ", $search_input_text);
$query="SELECT * FROM car_details
WHERE MATCH (car_trim) AGAINST ('";
foreach ($searchArray as $word) {
$query .= "+".$word."* ";
}
$query .= "' IN BOOLEAN MODE) LIMIT $start, $limit";

查询执行正常但有一个错误,如果您查看列名,您会发现 car_trimMATCH() 函数。该列在数据库中只有 3 种不同类型的值,即 'T5'、'T6' 和 'T5 premier'。

当我在搜索栏中键入“Premier”并按 Enter 键时,它会获取其值包含单词“Premier”的结果。但是当我输入 T5T6 时,它返回一个空记录。请确保有很多记录 car_trim='T5', car_trim='T6' or car_trim='T5 Premier'

我不明白字符串 T5T6 可能有什么问题。

最佳答案

MySQL 在使用全文搜索时有两个关键参数(以及其他一些重要参数)。关键参数是最小字长和停用词列表。简而言之,MySQL 会忽略少于 3 或 4 个字符(取决于存储引擎)或停用词列表中的词。

根据参数默认值,您的示例(“T5”和“T6”)太短。

其他一些配置参数可能会引起您的兴趣,例如最大单词长度和对单词有效的字符。

您可以更改全文索引的参数并重新构建索引。

Here是了解这一点的好起点。

关于php - Mysql FullText 索引搜索问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39038120/

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