7

ZF1 有一个很好的搜索 lucene 实现。ZF2有类似的东西吗?我什么都找不到...

4

2 回答 2

10

它是 ZendSearch 的一部分,你可以在这里找到它https://github.com/zendframework/ZendSearch

如果您向下钻取文件夹,您会找到 Lucene,但您可能需要按照我链接到的第一页上的自述文件中的说明安装整个东西。

或者,您可以 cd 进入您的供应商目录并运行:-

git clone https://github.com/zendframework/ZendSearch.git

这将创建 ZendSearch 模块,然后您可以将其添加到 application.config.php 中的模块列表中

另请参阅Zend Framework 包存储库

于 2012-09-30T14:57:32.347 回答
1

这适用于 Zend Framework 3 / Zend Search

以下代码将帮助您开始使用 Zend Search:

use ZendSearch\Lucene\Lucene;
use ZendSearch\Lucene\Document;
use ZendSearch\Lucene\Document\Field;
use ZendSearch\Lucene\MultiSearcher;

$index = Lucene::create($path_to_index); // or use open to update an index
$document = new Document;
$document->addField(Field::Text($key,$value));
$index->addDocument($document);

$search = Lucene::open($path_to_index);
$search->find($str);

然而值得注意的是,在编写 Zend Search 时,期望 ErrorHandler:: 可用,它是 Zend 的 Stdlib 的一部分。我相信这已从 stdlib 中删除,所以我只是用 try/catch 块替换了这些调用。

除了上面的例子——ZF v1 手册中的代码在功能方面提供了一个很好的基础:https ://framework.zend.com/manual/1.12/en/zend.search.lucene.overview.html .

于 2016-10-17T13:36:06.760 回答