好的请不要伤害我,因为我不会给你一个确切的答案给你的问题,但给你一个选择。
请不要使用zend,因为它很慢。相信我。它只是一个糟糕的实现,必须为每个搜索请求完全加载。只是做一些基准,你会注意到。
Lucene的确实支持分片(分配指标到多台服务器和合并结果seperately牵强)
它也支持复制这将是一个更好的去为你
所以来这里的真正有用的部分:
退房solr在http://lucene.apache.org/solr/ 它的所有设置与示例安装使用jetty包括在内。 你raelly不必做任何事情超过自定义字段,如果你不使用通配符域和使用java -jar start.jar
启动它一旦服务器,我只是忘了它的默认端口上运行,你有一个inderface到你可以使用http post发送你的新文件。 你可以从你的每个应用程序服务器通过php来完成。 然后solr会索引它并提交更改,如果您包含提交标志。
您可以使用http界面和solr查询参数查询您的索引。那么你会得到一个整洁的json或xml formattet文档。 如果遇到任何加载问题,则可以复制服务器。
但是,如果您使用zend执行此操作,则您的服务器将处理的请求数量是您要求的1000倍以上,因为一切都已启动并正在运行,lucene已加载,查询可立即生效。
只是看看这个教程一步一步,你应该罚款: http://lucene.apache.org/solr/tutorial.html
如果你不喜欢这一切,仍要与Zend坚持:
数据库是不可能的贝性质,但你可以写一个包装。但这是荒谬的。 在这种情况下最好的做法是建立一个网络文件系统!
任何问题,让我知道。
ps:当你遇到选择时,建议使用dismax,在大多数情况下它的速度要快很多。
Solr Java Lucene?我有一个应用程序当前使用PHP Lucene(Zend库),并计划更新到Java Lucene并使用Java桥接器。思考? – allnightgrocery 2010-08-23 17:00:32
是它的100%java lucene。 jetty服务器作为应用程序服务器(替代方案是tomcat或其他)。您可以立即下载并开始使用的示例,其中包括jetty作为默认服务器,它由apache和顶级项目开发,并与lucene紧密协作。我重新设计了商业产品事实发现者的公司应用程序,我只能推荐它。它运行速度快,可靠作为一种魅力,并且非常灵活,但也非常灵活和可定制。 – 2010-08-23 17:29:44