当前位置: 首页 > news >正文

问答系统网站模板vscode怎么做网页

问答系统网站模板,vscode怎么做网页,wordpress站群主题,如何登录ftp网站MySQL全文索引检索中文 5.7.6版本不支持中文检索,需要手动修改配置 ft_min_word_len 1 ,因为默认配置 4 SHOW VARIABLES LIKE ft%; show VARIABLES like ngram_token_size;配置 修改 MySQL 配置文件 vim /etc/my.cnf在配置的 [mysqld] 下面添加**ft_…

MySQL全文索引检索中文

5.7.6版本不支持中文检索,需要手动修改配置 ft_min_word_len = 1 ,因为默认配置 4

SHOW VARIABLES LIKE 'ft%';
show VARIABLES like 'ngram_token_size';

配置

修改 MySQL 配置文件

vim /etc/my.cnf

在配置的 [mysqld] 下面添加**ft_min_word_len = 1** ,如果是 innodb 引擎添加配置 innodb_ft_min_token_size = 1

以上配置都不推荐,我比较推荐使用 MySQL 自带的插件 N-gram 因为它对中文的检索更友好。N-gram 插件不需要安装,当创建索引的时候申明使用N-gram就可以了,这个本文后面会提到。一般分词都是设置为2,设置为1我试过检索不出来。设置了 ngram_token_size之后,innodb_ft_min_token_sizeinnodb_ft_max_token_size就没有用了。

可以使用以下语句查询 ngram_token_size配置。

SHOW VARIABLES LIKE 'ngram_token_size';

重启MySQL

修改配置以后重启 MySQL服务

service mysqld stop
service mysqld start

创建全文索引

-- 不使用n-gram
ALTER TABLE <表名> ADD FULLTEXT <索引名>(<字段名>);-- 使用n-gram,全文索引名一般使用 ft_ 的前缀,例如 ft_user_id
ALTER TABLE <表名> ADD FULLTEXT INDEX <索引名>(<字段名>) WITH PARSER ngram;

全文索引字段必须是中文字符类型,最好是 utf8mb4

优化索引

如果在修改配置前就已经创建了全文索引,则需要重新生成全文索引。可以先删除再重新创建全文索引,也可以执行如下sql优化索引。

-- 更新索引
OPTIMIZE TABLE <表名>;-- 删除索引,再重新创建索引
ALTER TABLE <表名> DROP INDEX <索引名>;
ALTER TABLE <表名> ADD FULLTEXT INDEX <索引名>(<字段名>) WITH PARSER ngram;

全文检索

MySQL 的 MATCH AGAINST 语句支持多种搜索模式,每种模式都有其特定的应用场景。以下是 MySQL 中 MATCH AGAINST 支持的几种主要模式:

1. 自然语言模式(Natural Language Mode)

自然语言模式是最简单的全文搜索模式,默认情况下,如果没有显式指定搜索模式,MATCH AGAINST 将使用自然语言模式。在这种模式下,多个词语之间用空格分隔,表示任意一个词语都可以匹配。

示例

假设你希望匹配包含任意其中一个词语的记录:

SELECT * FROM <表名>
WHERE MATCH(<字段名>) AGAINST('关键词1 关键词2 关键词3');

2. 布尔模式(Boolean Mode)

布尔模式允许你更精细地控制搜索行为,可以使用特殊符号来表示逻辑运算符。布尔模式的特点包括:

  • 加号(+)表示必须包含的词,类似于 and
  • 减号( -)表示必须不包含的词,类似于 not
  • 空格表示或的关系,类似于 or
  • 星号( *)表示通配符,用于模糊匹配。
  • > 和 < 可以用来表示词频的阈值。
  • 双引号(")表示短语搜索。

示例

假设你希望匹配包含所有词语的记录:

SELECT * FROM <表名>
WHERE MATCH(<字段名>) AGAINST('+关键词1 +关键词2' IN BOOLEAN MODE);

3. 查询扩展模式(Query Expansion Mode)

查询扩展模式是在布尔模式的基础上增加了查询扩展的功能,它允许 MySQL 根据已有的搜索词自动扩展搜索范围,以找到更多相关文档。查询扩展模式使用 WITH QUERY EXPANSION 关键字。

示例

假设你希望匹配包含所有词语的记录,并扩展搜索范围:

SELECT * FROM <表名>
WHERE MATCH(<字段名>) AGAINST('+关键词1 +关键词2' WITH QUERY EXPANSION);

4. 混合模式

你可以结合使用自然语言模式和布尔模式,根据需要选择最适合的模式。例如,你可以使用自然语言模式来匹配多个词语中的任意一个,同时使用布尔模式来精确控制某些词语的匹配。

示例

假设你希望匹配包含任意其中一个词语的记录,并且排除某些词语:

SELECT * FROM <表名>
WHERE MATCH(<字段名>) AGAINST('关键词1 关键词2' IN BOOLEAN MODE);

注意事项

  1. 全文索引:确保你已经在相关列上创建了全文索引。
  2. 字符集:确保使用支持中文的字符集,如 utf8mb4
  3. 停用词处理:对于中文全文搜索,停用词的处理非常重要,可以自定义停用词列表来提高搜索质量。
  4. 全文索引参数:根据需要调整全文索引的相关参数,如 ft_min_word_len 和 ft_max_word_len

参考

  • MySQL5.7 中文全文检索与停用词的常用设置 https://blog.csdn.net/ordinary_csdn/article/details/127222125
  • MySQL使用全文索引(fulltext index) 及中文全文索引使用 https://blog.csdn.net/yygg329405/article/details/97110984#::text=MySQL中文分词全#::text=MySQL中文分词全
http://www.yayakq.cn/news/833318/

相关文章:

  • 手机网站技术方案通辽网站建设
  • 深圳市网站建设上海建筑设计公司平台
  • 鞍山市信息网站谁能给我一个网址
  • 张家港市做网站的公司阿里买域名 电脑做网站
  • 站群网站推广工具费用网店代运营服务
  • 太原模板网站建站怎么制作网站程序
  • 四川网站建设电话咨询搭建企业网站公司
  • 做网站下导航字号为多大百度查重免费入口
  • 吴中快速建设网站价格汕头市住监局官网
  • 做收集信息的网站苍溪建设局网站
  • 蓝色风格网站模板上海高端品牌网站建设
  • 智慧团建官方网站登录广西网站建设哪家有
  • 织梦网站识别浙江省建设监理协会官方网站
  • 小语种建站找装修公司去哪个网站
  • 成都营销型网站制作wordpress会员到期
  • 湛江做网站seoflash做网站导航
  • 眼科医院网站开发宁波城乡住房建设局网站
  • 网站建设通知网图搜索识别
  • 免费怎样搭建网站五金配件店 东莞网站建设
  • 抚顺网站建设公司网站建设方案策划
  • 我的网站怎么转网页呢做视频采集网站违法吗
  • 怎么判断网站被k江门关键词优化价格
  • 做数学ppt工具的网站wordpress输入密码访问
  • 惠州网站建设惠州织梦网站装修公司源码
  • 网站打开速度很慢developer官网下载
  • 超值高端网站设计免费一卡二卡三
  • 网站开发内容怎么写想招人去哪个平台免费
  • 徐州优化网站建设移动端和pc端的意思
  • 床上做受网站永久免费建站空间
  • 如何用dede做带下单的网站深圳网站商城定制设计