论坛的中文搜索不准确

比如我想搜索 c++ 模式下的单引号问题:

条件再放宽一点,标题仍然没有命中,内容倒是有匹配(但是关键字没加粗,让人怀疑到底是不是匹配到了搜索关键字):

改用英文搜索,标题内容都有命中(并且关键字有加粗):

我搜了一下这个问题,几年前就有讨论并修复了:

主要从以下几个方面着手解决:

  • 开启 CJK 分词:
    • locale 改为 zh_CN (还有说 PostgreSQL 编码也要改,不清楚是否默认已经 utf-8)
    • 开启 search tokenize chinese japanese korean
  • min search term length 改为 1 (也有人说改为 2)
  • 重新索引旧帖 rake search:reindex

这个问题应该引起注意,否则论坛帖子越来越多,寻求帮助却越来越困难。@guanghui.qu @xuchunyang


UPDATE 2018-05-26 15.40.50

好像并非所有中文关键字都这样,但只要一部分关键字出现这种情况,就不得不让人产生疑虑:虽然我搜到了一些结果,是不是还有更多/更匹配的条目没有被搜索到?


UPDATE 2018-05-26 15.55.10

我明白了,这是分词造成的。比如搜索电子书没有任何结果,必须拆开为电子 书,但是 电 子 书又不行。类似还有输入法,所以要搜索中文还要猜测机器如何分词?真是让人头痛的问题。

相关信息不多,discousecn的人也推测是分词的问题

https://meta.discoursecn.org/t/topic/2445/6

帖子里提到了外部搜索。我回去试试

这个问题后续看升级论坛有没有帮助,目前可能不太好解决。