0

我在 php 中调用 lucene 方法时遇到问题。我是java初学者。我正在搜索 google 4 解决方案,但没有找到。

我正在尝试使用 php java bridge 将此 java 代码写入 php。

http://www.lucenetutorial.com/lucene-in-5-minutes.html

我发现这一行我不明白如何使它成为 php:

IndexReader reader = DirectoryReader.open(index);

DirectoryReader 对初始对象没有“新”,这就是我无法用 php 编写的。

但是,如果 java 代码如下所示,

Query q = new QueryParser(Version.LUCENE_43, "content", analyzer).parse(querystr);

我这样写:

$query = new Query\QueryParser($version->LUCENE_43,'content',$analyzer);
$query->parse($strquery);

n 没有错误。

那么,如何创建这个java代码

IndexReader reader = DirectoryReader.open(index);

到 php ??

真的需要帮助,非常感谢提前。

4

1 回答 1

0

您应该能够使用Zend 的 Zend_Search_Lucene模块,而不是直接使用 PHP-Java 桥。看看它可能会容易得多。

你能参考你在哪里读到它会更慢吗?进行了哪些测量以及如何完成的?我不太确定,无论这些性能影响如何,它们会对我们的应用程序产生显着影响。

此外,由于您使用的是 Symfony,因此有现成的库可以为SymfonySymfony2提供集成。我真的建议使用Zend Search Lucene,特别是如果您没有 JAVA 经验,因为将您的应用程序基于一种以上的技术已经足够复杂了。

另一个可能派上用场的有用的东西是Lucene/Sorl 查询构建器。我知道我没有回答您确切的技术问题,但是作为一名 PHP 程序员并且有使用 Sorl/Lucene 的经验,我只是想指出上述问题,以便您做出适当的决定。

于 2013-10-28T08:51:09.600 回答