Scout TNTSearch 驱动 升级小结

去年发布 laravel-scout-tntsearch 后就没怎么更新,后来发现还是有一部分同学在使用,感谢大家的支持。

这两天结合使用过同学的反馈,对扩展包进行了一些更新和升级。主要有以下几点:

1. 分词器支持停用词功能

只需在配置文件 config/scout.phptntsearch.tokenizer 中添加 stopwords 配置:


'tokenizer' => [
    ...
],

// 停用词
'stopwords' => [
    '的',
    '了',
    '而是',
],

当停用词比较多的时候可以放到单独的文件里面再引入


// 停用词
'stopwords' => file(resource_path('dicts/stopwords.txt'), FILE_IGNORE_NEW_LINES),

2. 结巴分词器支持自定义词典

在结巴分词器配置中添加 user_dict 配置:

'jieba' => [
    'dict' => 'small',
    'user_dict' => resource_path('dicts/mydict.txt'),
],

不使用自定义词典,注释或去掉 user_dict 即可

3. 新增phpanalysis分词支持

phpanalysis也是一款用纯 php 实现的中文分词,相对于结巴来说更轻量,无论是扩展包大小还是内存占用都要更小,而且分词速度也更快,适合介意大小的同学。 :laughing:

配置文件:

'analysis' => [
    'result_type' => 2,
    'unit_word' => true,
    'differ_max' => true,
],

如果这个扩展包能帮助到你,欢迎 Star , 如果使用中碰到什么问题,也欢迎提 issue

Github: https://github.com/vanry/laravel-scout-tnt...

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

scout 已经升级到4.0+ 你的包暂时只能用 3+,希望早点升级

5年前 评论

@Lzg 多谢提醒 已升级 :smile:

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!