Rust製の検索エンジン Sonic を日本語で使えるか検証した
Photo by Dominika Roseclay from Pexels
少ないリソースで超高速で動くと有名で前から気になっていた Sonic を試してみた。
日本語では上手く動かない?
Sonic は日本語で上手く動かなかった。
中国の人が、2文字以上で suggest
機能が使えないという ISSUE を出している。
実際にその通りで、エラーメッセージもよくわからなかった😭
1文字なら使えるのかと言えばそうでもなく、
1文字で suggest
を使おうとすると、入力したその一文字が帰ってくるだけだった。
“multi byte character” では一文字づつ切る様になっているのだろうか。
検証に使用したライブラリ
- Rust https://github.com/pleshevskiy/sonic-channel
- JavaScript https://github.com/valeriansaliou/node-sonic-channel
検索結果にあるべきレコードが結果に含まれない
今回の試行では商品データベースを読み込ませた。
そこには、たくさんの『おいしい〇〇』という『おいしい』から始まる商品名があった。
でも、実際に『おいしい』検索してみると、検索結果が0件となってしまった。
この stopwords の辺りは関係あるのかな?
しっかりとソースを追っていないので原因わからないけれど、
現状(2020-08-20現在)日本語では使えないみたい。
残念😭
(日本語で上手く使えた人がいたら 教えてください)
機能する文字列もあるみたい
文字列によっては、検索結果が帰ってきた。
ただ、関係ない結果も含まれてしまっているのだけど、大丈夫なのだろうか。
内部でどうやって処理されているのだろう。
その他
検索結果に重み付けをしたい場合はこのようにすると良いみたい。