既然园帝集思广益,俺也进一言。
俺曾在各个时期在家园内进行过多次尝试,蛋发现家园的搜索功能总是不好,连俺确定存在的内容都搜不出来。这是技术上达不到的功能,还是园帝不愿在此功能上花时间?
家园的旧内容也狠难找到,不知是不是也是因为在技术上有难以逾越的障碍?
俺希望搜索也能是家园的一个界面。帖子列表如能按关键词按时序按作者排列,辣将会是个相当方便使用的界面。
论坛搜索问题, 家园论坛曾经反复花了好大力气实现过好几次,这里解释一下为什么有你说的这种现象的原因。
1)搜索是一个很难的问题,目前只有管理员能做。但他并不是一定或者经常做事情的。
2)论坛在成立约2-3年,帖子达到百万级别时,就面临了搜索问题。
论坛自动的 Mysql like语句就肯定不能用了,因为随便一个搜索可能就要几十秒到几分钟。
后来的Mysql加入的全文本搜索功能也对中文支持得不好。
3)后来管理员实现过2次基于开源系统的搜索引擎服务器,分别是在2008年基于 Apache Solr 和 2014年基于Elasticsearch 。
这些搜索引擎服务器基本上和Google的技术一样,只是把所有帖子(1300万个)交给服务器全文索引。
这个技术方案可以比较完美的搜索和索引所有论坛帖子 。
但现实残酷的地方在于,论坛在发展早期,不断的升级服务器,甚至更换论坛软件。
当你换服务器时,就会消耗很多安装/设置搜索服务器的时间。更换论坛软件后,集成部分更是就要重写代码。
4)现在论坛有约1300多万帖子。 mysql 全文本索引一遍需要约10天的时间。Elasticsearch要快好多,但也需要几天的时间。
5)当更换系统后,很多时候,管理员同时也在忙其它事情 ,经常因为搜索不是可用性的问题,排到最后,或者不了了之(当管理员有其它想法的时候)
6)据目前所知,论坛的搜索目前(20191008)是 mysql 全文本索引 ,而且由于某种原因只索引了前1000万帖,以及最新的几十万帖。(这样显示给用户的感觉是1-3年的搜索/索引缺失)
7)论坛软件目前有 Elasticsearch 集成的代码实现,如果想支持好 Elasticsearch , 只需要设置好Elasticsearch 搜索服务器, 花费几天索引就可以。
8)在不需要管理员的情况下,可以先完成mysql 全文本索引 (需要几天的时间),至少是没有1-3年的搜索内容完全缺失的问题。
9)在管理员目前干劲十足的情况下,估计有可能在这个月创建/设置Elasticsearch服务器。
10)但如果论坛换服务器,或者软件。这个问题又会回到起点。