ferret啊,为你欢喜为你忧。
程序员文章站
2022-03-15 17:55:44
...
非常非常奇怪的问题。一开始在mac下面用standard rails bundle + ferret/acts_as_ferret,一切正常。后来想引入rmagick,于是使用rmagick bundle + ferrect/acts_as_ferret,结果报错,server启动不起来。mail list上去问,没人搭理咱。
索性换到windows上,顺便开始测试网页的浏览器兼容性。把代码commit到svn,然后找台新装的windows xp sp2,安装ruby、rails、ferret、rmagick,然后checkout代码。启动server,报错说no such file to load -- acts_as_ferret (MissingSourceFile),但是acts_as_ferret分明就在vender/plugins下面。而且同一个team里面有的人有这个问题,有的人就没有。
我这里是把acts_as_ferret作为plugin安装的。原因么,一是觉得plugin可以随着project一起checkin到svn中,大家可以共享;二是因为我在开始使用ferret的时候,acts_as_ferret的gem安装是0.10版本(非常奇怪)。现在报着最后的希望把acts_as_ferret安装成gem,这次还不错,找到了0.41版本。然后启动server试试,一切正常了。
非常的不解,看上去安装成gem比安装成plugin更保险一些,可是为什么之后acts_as_ferret有这种问题?
另外顺带提一下ferret的中文分词器,前一阵子尝试去实现一个,找了一个java版的作为研究对象,得出的结论是很难。java里面把读进的每个字符都做了统一的处理,我可以很简单的知道一个document中那些是一个character。而c中就没这么简单了,如果编码是utf-8,那么一个中英文混合加阿拉伯数字的document中的character就是不定长的,就不知道从哪里断开了。而且据说有些c编译器处理宽字符还有问题。
唉,我不是c的高手,对字符集这个东西也没有研究。希望我上面的说法是错误的,不然真的很难写一个c的中文分词器咧~
索性换到windows上,顺便开始测试网页的浏览器兼容性。把代码commit到svn,然后找台新装的windows xp sp2,安装ruby、rails、ferret、rmagick,然后checkout代码。启动server,报错说no such file to load -- acts_as_ferret (MissingSourceFile),但是acts_as_ferret分明就在vender/plugins下面。而且同一个team里面有的人有这个问题,有的人就没有。
我这里是把acts_as_ferret作为plugin安装的。原因么,一是觉得plugin可以随着project一起checkin到svn中,大家可以共享;二是因为我在开始使用ferret的时候,acts_as_ferret的gem安装是0.10版本(非常奇怪)。现在报着最后的希望把acts_as_ferret安装成gem,这次还不错,找到了0.41版本。然后启动server试试,一切正常了。
非常的不解,看上去安装成gem比安装成plugin更保险一些,可是为什么之后acts_as_ferret有这种问题?
另外顺带提一下ferret的中文分词器,前一阵子尝试去实现一个,找了一个java版的作为研究对象,得出的结论是很难。java里面把读进的每个字符都做了统一的处理,我可以很简单的知道一个document中那些是一个character。而c中就没这么简单了,如果编码是utf-8,那么一个中英文混合加阿拉伯数字的document中的character就是不定长的,就不知道从哪里断开了。而且据说有些c编译器处理宽字符还有问题。
唉,我不是c的高手,对字符集这个东西也没有研究。希望我上面的说法是错误的,不然真的很难写一个c的中文分词器咧~