栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MySql全文搜索不正确的短词

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySql全文搜索不正确的短词

  1. 问题

在SO上已经讨论了很多次了:MySQL的内置全文分析器旨在搜索单词,而不是单个字符,并且默认的最小单词长度设置为3(innodb)或4(myisam)。这些设置意味着短于3或4个单词的单词不会被索引,因此无法通过全文搜索找到。您可以将最小字符长度限制降低到1并重建索引,但是由于索引会更大,因此它将减慢搜索速度。

  1. 问题

可以,但是您需要

title
单独在该字段中进行搜索,并提高该字段的相关性得分结果
title

您可以使用

union
来获得组合列表,
sum()
以对任何记录的分数求和:

SELECt p.id, any_value(title), any_value(description), any_value(tags), sum(t.score) as sum_scoreFROM    (SELECt id, (MATCH(title) AGAINST ('$search' IN NATURAL LANGUAGE MODE)) *2 AS score     FROM pages     UNIOn ALL     SELECt id, MATCH(description,tags) AGAINST ('$search' IN NATURAL LANGUAGE MODE) AS score     FROM pages) tINNER JOIN pages p on t.id=p.idGROUP BY p.idORDER BY sum(t.score) DESC

您需要调整全文索引才能进行单独的搜索。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/634746.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号