问几个问题,关于p2p搜索和分布式索引还有.net无框架打包的问题
1、像BT,电驴等软件,如果你搜索一个文件,它是在登陆在同一服务器上所有的人的硬盘里完成搜索呢,还是每个人共享的文件都在服务端维持一个列表,搜索的时候只在服务端搜索呀。如果是后者,本地文件列表是否是定时向服务器同步文件列表呀?那样的话在P2P软件里搜索的时候就不是实时的咯。另外谁知道比较好用的bt、电驴或者其它P2P协议的开源.net类库,给说下名字,我想二次开发一下。还有符合xmpp,jabber协议的开源库也推荐一下,要.NET的,客户端,服务端都要。这样的分布式搜索是如何实时搜索所有节点共享的文件的呀,大家谁有好的方案,是不是分布式数据库、分布式存储、SAN等技术都解决了这个问题呀。
2、如果要用Lucene给一个大量的文件做倒排索引,需要多台机器同时处理,每台机器把索引的结果通过Remoting提交到核心服务器的队列里,队里里再把各台分服务器提供的索引集中保存。这个想法容易实现吗?大家再做大量数据索引的时候如果用多线程并发建立索引或多台机器进行分布式索引的时候是如何合并索引的呀,能成功吗,性能大概能提高多少。还有就是lucene和sqlserver的全文索引,谁的性能比较好呀?大家能否举一些lucene实际应用的例子,最好是企业内部应用的例子。还有就是lucene在信息关联和评分标准方面有没有什么扩展插件。
3、关于给.net不用装框架就能运行的打包问题,现在有好多第三方软件可以实现让.net程序运行在没装.net框架的机器上的工具,如thinstall还有国内的一个忘了名字的软件。因为用.NET做一个小软件都要装20多M的框架,确实不太好,如果能按需所装就好了。我想能不能做好一个.Net程序后,写个监视程序,用反射从元数据或清单中探测出它运行中所加载的程序集,然后把.net运行库mscrolb.dll和这些程序集打下包,做成一个.exe安装程序,装在不装框架的机器上也能用,这有可能吗?
thinstall相关网址
http://thinstall.com/solutions/net_virtual.php
http://tag.csdn.net/tag/thinstall/1.html