[lucene] 如何将lucene的索引创建到ftp服务器上,搜索时也从对应ftp上读取索引

zw1502071 2013-04-02
如何将lucene的索引创建到ftp服务器上,搜索时也从对应ftp上读取索引,这样做可行吗?效率怎么样,大家有没有这样做过,最近公司要这么实现,网上有人说效率不好,求指导,各位大神~~~
ps:我在网上搜了半天,发现commons-vfs可以做到,但是我没有看懂,感觉它只是如何针对ftp上的文件创建索引,而不是将索引放到上面,小弟才疏学浅,希望有大神相救~~~~感激不尽
liangexiang 2013-04-02
我不是大神,哈哈;但是对这类问题比较感兴趣;随便说说个人看法。

针对你问的这些,可以这样:
如果是linux服务器的话,可以考虑用mount方式把ftp挂载到本地路径上。具体java操作文件的API保存不变。

其实这样效率很低的,设计方案也是很糟糕的;不太明白为什么这样,而且为什么非得FTP?是不是想解决存储与运算分离的问题?为什么不是NFS之类的解决方法?
runfriends 2013-04-03
远程加载索引的效率很低
lucene不推荐从远程加载索引。
如果不得不从远程加载,lucene推荐把它同步到本地。
maverick_du 2013-04-06
这样做的效率一定极低,计算一定需要数据(否则计算什么呢),只有让数据更高效的让计算获取才是可行的方法
zw1502071 2013-04-06
谢谢各位,我们老大要这么做,具体为什么我也不知道,我也和他说了效率比较低,他说先做出来试试效率怎么样,我用了两三天时间跟踪了Lucene和commons-vfs源码,可以采用commons-net包中ToNetASCIIOutputStream中write方法写到ftp上的文件,根据ip、port、相对路径,现在实现了将索引文件创建到了ftp上,对于查询我还没开始做,这几天准备做
oznyang 2013-04-07
建议你别试了,ftp的command响应极其慢,而lucene的query需要大量的seek,要远程,还不如试试nfs或者cifs
zw1502071 2013-04-07
oznyang 写道
建议你别试了,ftp的command响应极其慢,而lucene的query需要大量的seek,要远程,还不如试试nfs或者cifs

谢谢啦,我百度一下那两个是啥
另外对于使用lucene将索引建在那里你有没有好的建议?那两个东西commons-vfs不支持,我用什么呢?
zhchch518 2013-04-07
zw1502071 写道
oznyang 写道
建议你别试了,ftp的command响应极其慢,而lucene的query需要大量的seek,要远程,还不如试试nfs或者cifs

谢谢啦,我百度一下那两个是啥
另外对于使用lucene将索引建在那里你有没有好的建议?那两个东西commons-vfs不支持,我用什么呢?

为什么要这么干啊,违背常识的啊,把你老大说服啊
zhchch518 2013-04-07
zw1502071 写道
谢谢各位,我们老大要这么做,具体为什么我也不知道,我也和他说了效率比较低,他说先做出来试试效率怎么样,我用了两三天时间跟踪了Lucene和commons-vfs源码,可以采用commons-net包中ToNetASCIIOutputStream中write方法写到ftp上的文件,根据ip、port、相对路径,现在实现了将索引文件创建到了ftp上,对于查询我还没开始做,这几天准备做

不懂还瞎指挥
oznyang 2013-04-07
nfs可以直接挂载成本地目录,直接就可以用了,不需要什么commons-vfs
你找找资料吧,应该有的
zw1502071 写道
oznyang 写道
建议你别试了,ftp的command响应极其慢,而lucene的query需要大量的seek,要远程,还不如试试nfs或者cifs

谢谢啦,我百度一下那两个是啥
另外对于使用lucene将索引建在那里你有没有好的建议?那两个东西commons-vfs不支持,我用什么呢?
Global site tag (gtag.js) - Google Analytics