mysql 的中文全文搜索,关于分词,有没有好的解决方案

mysql 的中文全文搜索,关于分词,有没有好的解决方案,第1张

别用mysql直接做,效率差,实现也麻烦。我实践过一个失败的项目,做出来了功能与效率都没预期的好。

java+lucense+中文分词词库+mysql全文索引

有人专门做过,全文索引的中间件,叫phinux。找这种组件做。

1.需要分词的字符串,必须,英文,标点,数字,汉字,日语等都可以。编码为UTF-8

2.是否返回字符串,可选,默认是。如果传入false,那么将返回一个数组。

3.是否base64_encode中文,可选,默认是。Mysql的全文搜索有个配置是 ft_min_word_len 这个值一般是4,而 我们分成的中文词语是两个字,就不会被mysql认为是一个词。而base64_encode过后,词语的长度为8,就不存在最小长度问题 了。

不支持事务,没有行级锁,当数据库崩溃时,不可以安全恢复

加锁并发当读取某个表的数据时,会给该表加共享锁,写入时会加排他锁,在查询表的数据时可以并发插入新的记录

索引特性 支持 Text Blog 类型的字段作为索引,基于前500个字符创建,也支持全文索引

延迟更新索引键 每次修改键索引数据并不会马上写入硬盘上,而是在内存中的键缓冲区,在清理缓存区或关闭表时才写入磁盘中,但是当数据库崩溃时会造成索引的损失,需要执行修复 *** 作

MyISAM压缩表 就是当某个表创建时,并不需要进行修改则可以将表压缩,这样既节省了磁盘空间,又可以减少磁盘I/O 从而提升了查询的性能,压缩表也支持索引,不过也是只读的。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7426030.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存