gpt4 book ai didi

php - 在 MySQL 全文搜索中,匹配仅显示完全匹配或匹配带有某些后缀而不是前缀的数据

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

我已经在网上搜索过,但没有找到任何使用完整链接Fulltext search only returns exact matches

我有带有行值的列标题

shiva
goodshiva
goodshiva
goodshivagood

查询:

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) 

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

仅显示 shivagood 和 shiva

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

有没有办法不用like?

最佳答案

您发现 mysql 全文搜索存在限制。

没有与

等效的语法
LIKE '%something%'

虽然MySQL本身会返回该类型查询的结果,但无法使用索引,因此涉及的表将被“表扫描”

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

*shiva*

不支持。

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

'*shiva*'.

关于php - 在 MySQL 全文搜索中,匹配仅显示完全匹配或匹配带有某些后缀而不是前缀的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44069686/

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