增强typecho的搜索功能
By 苏剑林 | 2018-01-09 | 64938位读者 | 引用科学空间是使用typecho程序搭建的博客,侧边栏提供了搜索功能,然而typecho内置搜索功能仅仅是基于字符串的全匹配查找,因此导致很多合理的查询都没法得到结果,比如“2018天象”、“新词算法”都没法给出结果,原因就是文章中都不包含这些字符串。
于是就萌生了加强搜索功能的想法,之前也有读者建议过这个事情。这两天搜索了一下,本来计划用Python下的Whoosh库来建立一个全文检索引擎,但感觉整合和后期维护的工作量太大,还是放弃了。后来想到在typecho自身的搜索上加强,在公司同事(大佬)的帮助下,完成了这个改进。
由于是直接修改typecho源文件实现的改进,因此如果typecho升级后就可能被覆盖,因此在这里做个备忘。
探索
通过在Github检索我发现,typecho的搜索功能是在var/Widget/Archive.php
中实现的,具体代码大概在1185~1192行:
澳洲恐龙洞穴揭示气候变化
By 苏剑林 | 2009-07-14 | 26089位读者 | 引用天文望远镜拍到宇宙最美部分(图)
By 苏剑林 | 2009-07-18 | 17617位读者 | 引用太空中的巨影——日食间的月球影子
By 苏剑林 | 2009-07-23 | 19267位读者 | 引用日本科学家发现人体能发出可见光(图)
By 苏剑林 | 2009-07-23 | 18444位读者 | 引用企图减缓美国数学进展的“阴谋”
By 苏剑林 | 2009-07-26 | 22951位读者 | 引用宇宙中存在所谓的“黑洞”,只要你步入了它的视界之内,就永远也出不去了(除非你能够超光速)。在数学中,也有类似的规则,只要把一个自然数代入这个规则,都无一不会陷入无限的循环之中,这样称之为“数字黑洞”。有一个“数字黑洞”,它令人十分着迷,甚至有人称它为“企图减缓美国数学进展的阴谋”——这就是“冰雹猜想”。
冰雹猜想:
任选一个自然数。当选定的自然数是偶数,将它除以2,如是奇数,将它乘以3加上1;当变换后的自然数成了偶数,再将它除以2,如成了奇数,再将它乘以3加上1,连续进行下去,最后都“落叶归根”——变成了1。
最近评论