Scout TNTSearch 驅動 升級小結

Vanry發表於2018-04-27

去年釋出 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 協議》,轉載必須註明作者和本文連結

相關文章