关于 lucene 分词的一个问题

2019-06-15 16:39:16 +08:00
 gavinnnnn

本人初次接触搜索, 遇到一个问题: 可以用词搜的出来, 用单字搜索不了.

比如用分词器 IKAnalyzer 做分词时, 把 空调 分词成了 [空调], 这样我搜索 的时候就没有返回值, 因为索引中没有这个字, 但是如果分词器把所有单字都分词的话有很傻, 感觉是个很简单的问题, 应该有解决方案, 却怎么也搜不到, 在此向各位大神求教!

1134 次点击
所在节点    问与答
5 条回复
misaka19000
2019-06-15 16:48:02 +08:00
照你这需求那就分成单个吧
Phuasheng
2019-06-15 16:49:27 +08:00
不是专门搞这个的
我的解决方法是,分词先解决一部分精准,然后剩余的用模糊搜索,😂
EPr2hh6LADQWqRVH
2019-06-15 16:56:14 +08:00
这个分词器有两个模式,一个 smart 模式一个 max word 模式,smart 一搬不会产生单个字的 token 但 max word 会。

你想索引单个字当然要分成单字了。

如果你不想占索引空间那你只能现场计算
gavinnnnn
2019-06-15 16:58:55 +08:00
@avastms 两个模式我都试了, 但我上面说的问题都没有解决.
rogwan
2019-06-15 18:31:25 +08:00
@gavinnnnn 每次更换分词模式,都要重建索引。重新索引一下试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/574232

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX