【发布时间】:2015-06-22 09:56:11
【问题描述】:
我正在构建一个使用 PHP 前端和 Java 作为后端的 Web 应用程序,以从自定义的 Lucene 索引中检索信息。
在 PHP 上,我使用 exec() 运行从 Java lucene 索引检索结果的 JAR(仅打印出文档的元数据结果,我们正在处理大约 300 多行字符串或结果)。我认为结果越多,从 PHP 搜索的速度就越慢。检索 300 行结果大约需要 4-5 秒,但在 Java(使用 Eclipse IDE)中,使用相同方法检索相同结果只需要 0.3 秒或更短时间。我尝试直接从命令行运行JAR,搜索速度居中
于是我在Java中放了timer来调试问题,发现似乎变慢的是System.out.println()的使用。在不打印搜索结果的情况下,PHP 中的搜索速度与 Java IDE 中的一样快。
有没有一种好方法可以在不影响速度的情况下从 PHP 捕获 Java 方法的输出?我希望我的搜索引擎能够扩展并处理更多结果。顺便说一句,我正在 Windows 7 上开发。
【问题讨论】:
-
我会检查PHP/Java Bridge。为每个 PHP 请求启动 VM 可能会非常耗时(在时间和资源方面)。
-
该项目的最后一次更新是 2013 年,这似乎不是一个好的建议。而且下载的人太少,似乎没有基准等。
-
@AdrianoRepetti。我试过“调用 Java 桌面应用程序方法”。来自 PHP/Java 桥。它不会将对象或输出返回给 PHP。
标签: java php eclipse performance lucene